updateOne()后获取更新值

时间:2017-01-12 14:06:55

标签: node.js mongodb express mongoose

是否可以在调用updateOne()之后获取所有更新的值/值

 _.each(gameResult, function(gameResult){
    bulk.find({"user" : gameResult.user, "section" : gameResult.section , "code" : gameResult.code}).upsert().updateOne(gameResult);
  })

想象一下在更新之前我在db中的值是:

1, 1, 1, 1

gameResult是:

1, 2, 1 , 3

所以我的数据库更新了:1,2,1,3

是否有可能获得更改的所有值,所以在这里我如何得到我的两个对象2和3因为我需要它在代码中。

1 个答案:

答案 0 :(得分:3)

您正在寻找findAndModify

执行更新,同时从数据库返回现有文档。默认情况下,此方法在应用更改之前返回文档(可以使用new:true选项更改此行为)。因此,您可以轻松地将返回的文档与本地文档进行比较,以找出差异。

不幸的是,批量操作不支持findAndModify,因此您需要逐个文档地执行此操作。