mongoose返回值无法修改

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mongoose返回值无法修改相关的知识,希望对你有一定的参考价值。

mongoose 查询方法 find

例:db.collections.find(query,function(err,doc) {

  如果var res = doc[0]  是{name:‘feifei‘} //假设只有一个元素

      //此时你想给这个对象添加一个age属性 res.age = 16; 

  打印res  发现 没有age这个属性  这是因为doc[0]是一个bson格式的   需要转化为json格式的

      转化方式1// var res1 = res.toObject()       res1.age = 16; 这个时候打印res1 会有age这个属性  //本地测试有效

}) 

//方法2:db.collections.find(query).lean().exec(function(err,doc) {

 var  res = doc[0]  此时对res添加新的属性  res.age = 16    也是可以的

})

以上是关于mongoose返回值无法修改的主要内容,如果未能解决你的问题,请参考以下文章

使用 Mongoose Schema 防止字段修改

修改 Mongoose 返回的对象

修改 Mongoose 返回的对象

为啥不能修改 Mongoose 查询返回的数据(例如:findById)

如何防止 Mongoose 在修改用户后重新散列用户密码?

在 mongoose 聚合中修改 $cond 的结果值?