为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

郎朗坤 2019-08-16 14:56:18
如何将Mongoose文档转换为普通对象?我有一个来自mongoose的文档,我想在JSON编码之前扩展并作为响应发送出去。如果我尝试向doc添加属性,则会被忽略。在不能Object.getOwnPropertyNames(doc)进行正常扩展时,属性不会出现。奇怪的是,它JSON.parse(JSON.encode(doc))可以工作并返回一个具有所有正确属性的对象。有一个更好的方法吗?
查看完整描述

3 回答

?
qq_遁去的一_1

TA贡献1725条经验 获得超7个赞

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

MyModel.findOne().lean().exec(function(err, doc) {
    doc.addedProperty = 'foobar';
    res.json(doc);});


查看完整回答
反对 回复 2019-08-16
?
万千封印

TA贡献1891条经验 获得超3个赞

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

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


查看完整回答
反对 回复 2019-08-16
  • 3 回答
  • 0 关注
  • 1566 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信