如何更新mongodb文档并原子地检索以前的状态?

时间:2014-06-21 20:38:15

标签: mongodb

在Mongodb中,是否可以更新文档并在原子操作中检索它以前的状态?

1 个答案:

答案 0 :(得分:3)

您可以使用findAndModify。它有一个new参数,如果设置为false(默认值),则返回原始文档。

  

可选。如果为true,则返回修改后的文档而不是原始文档。 findAndModify()方法忽略删除操作的新选项。默认值为false。

示例:

db.people.findAndModify({
    query: { name: "Andy" },
    sort: { rating: 1 },
    update: { $inc: { score: 1 } },
    new: false
})