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

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

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



郎朗坤
浏览 1615回答 3
3回答

qq_遁去的一_1

另一种方法是告诉Mongoose,通过lean()在查询链中使用,您所需要的只是返回文档的纯JavaScript版本。那样Mongoose就会跳过创建完整模型实例的步骤而你直接得到一个doc你可以修改的:MyModel.findOne().lean().exec(function(err, doc) {     doc.addedProperty = 'foobar';     res.json(doc);});

万千封印

如果属性不在模型中的快速方法:document.set( key,value, { strict: false });
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Node.js