findAndModify是否有效锁定文档以防止更新冲突?

时间:2012-01-01 03:39:05

标签: mongodb locking document

findAndModify()提供什么类型的锁定?是只有写锁,还是读/写?它是否会阻止同一记录上的同步更新?

2 个答案:

答案 0 :(得分:5)

MongoDB有一个全局(每个实例)写锁,它将服务器中所有数据的所有更新序列化(尽管分片集群中的不同服务器都有自己独立的锁)。这意味着在任何给定的时刻,任何文档只进行一次更新,因此对任何给定文档只进行一次更新。

findAndModify在这方面与普通update没有任何不同之处 - 它只是将文档返回给您。

答案 1 :(得分:2)

根据MongoDB: findAndModify()下的MongoDB: Atomic Operations的MongoDB文档,它应该是。