如何将Mongoose文档转换为普通对象?

node.js Node.js

斯丁蛋蛋宝儿

2020-03-23

我有一个猫鼬的文档,该文档要在JSON编码之前扩展并作为响应发送出去。如果我尝试向文档添加属性,则将其忽略。该属性不会出现无法Object.getOwnPropertyNames(doc)进行正常扩展的情况。奇怪的是,它JSON.parse(JSON.encode(doc))可以正常工作并返回具有所有正确属性的对象。有一个更好的方法吗?

第3008篇《如何将Mongoose文档转换为普通对象?》来自Winter(https://github.com/aiyld/aiyld.github.io)的站点

4个回答
老丝 2020.03.23

您还可以对对象进行字符串化,然后再次解析以生成普通对象。例如:

const obj = JSON.parse(JSON.stringify(mongoObj))
伽罗乐 2020.03.23

为了从猫鼬文档中获取普通对象,我使用_doc了如下属性

mongooseDoc._doc  //returns plain json object

我尝试过,toObject但是它给了我不需要的功能,参数和所有其他东西。

老丝阿飞 2020.03.23

猫鼬Model继承自Documents,后者有一个toObject()方法。我相信您要寻找的应该是的结果doc.toObject()

http://mongoosejs.com/docs/api.html#document_Document-toObject

蛋蛋猿 2020.03.23

如果属性不在模型中的快速方法:

document.set( key,value, { strict: false });

问题类别

JavaScript Ckeditor Python Webpack TypeScript Vue.js React.js ExpressJS KoaJS CSS Node.js HTML Django 单元测试 PHP Asp.net jQuery Bootstrap IOS Android