mongodb:使用update()更新并获取更新的数据

时间:2017-01-09 07:23:51

标签: node.js mongodb mongoose

我想更新并获取更新的数据,就像我们对findByIdAndUpdate {new:true}一样,以防我们想要更新数据。我们如何使用更新功能来做到这一点。

 mBooking.update(updateDbParams.condition, updateDbParams.update, function(error, resultData) {
    if(error)
      res.json(mResponse.response(null, null, "something went wrong", null));
    else
       {
         console.log(resultData); 
       }
 });

所以console.log返回;

    { ok: 1,
  nModified: 1,
  n: 1,
  opTime:
   { ts: Timestamp { _bsontype: 'Timestamp', low_: 1, high_: 1483945954 },
     t: 1 },
  electionId: 7fffffff0000000000000001 }

3 个答案:

答案 0 :(得分:2)

您可以将findOneAndUpdatenew:true选项

一起使用
mBooking.findOneAndUpdate(updateDbParams.condition, updateDbParams.update, {new:true}, function(error, resultData) {
    if(error)
      res.json(mResponse.response(null, null, "something went wrong", null));
    else
       {
         console.log(resultData); 
       }
 });

答案 1 :(得分:0)

您可以使用MongoDB的findAndModify。我不太确定与此相当的节点驱动程序。

  

修改并返回单个文档。默认情况下,返回   文档不包括对更新所做的修改。至   返回文档,对更新进行修改,使用   新选择。 findAndModify()方法是一个shell助手   findAndModify命令。

答案 2 :(得分:0)

mongoose更新功能不会返回更新的文档。这显示为here

正如其解释的那样,使用{new:true}的mongoose findByIdAndUpdate函数是最佳选择。还显示了findById的较长版本 - >保存。