findAndModify我对MongoDB 中的方法有点困惑。它比update方法有什么优势?对我来说,它似乎只是先返回项目然后更新它。但是为什么我需要先退货呢?我阅读了 MongoDB:权威指南 ,它说它对于操作队列和执行其他需要 get-and-set 样式原子性的操作很方便。但我不明白它是如何做到这一点的。有人可以向我解释一下吗?
findAndModify
update
如果您获取一个项目然后更新它,那么这两个步骤之间可能会有另一个线程进行更新。如果您先更新一个项目,然后再获取它,则可能会有另一个更新,您将获得与您更新的项目不同的项目。
以“原子方式”进行操作意味着您可以保证获得与您正在更新的完全相同的项目——即在两者之间不会发生其他操作。