小编典典

MongoDB 中的 findAndModify 和 update 有什么区别?

all

findAndModify我对MongoDB
中的方法有点困惑。它比update方法有什么优势?对我来说,它似乎只是先返回项目然后更新它。但是为什么我需要先退货呢?我阅读了
MongoDB:权威指南
,它说它对于操作队列和执行其他需要 get-and-set
样式原子性的操作很方便。但我不明白它是如何做到这一点的。有人可以向我解释一下吗?


阅读 210

收藏
2022-07-28

共1个答案

小编典典

如果您获取一个项目然后更新它,那么这两个步骤之间可能会有另一个线程进行更新。如果您先更新一个项目,然后再获取它,则可能会有另一个更新,您将获得与您更新的项目不同的项目。

以“原子方式”进行操作意味着您可以保证获得与您正在更新的完全相同的项目——即在两者之间不会发生其他操作。

2022-07-28