我与朋友讨论了MongoDb和它的原子性,我想知道他是否正确.. 有人告诉我,MongoDb在更新期间会进行两次原子操作:
这意味着在一小部分时间内,文档是空的。
即使这对我来说听起来似乎不合理,但有人确切知道这是真的还是不正确?
非常感谢您的回复,如果有人可以指出一些在线文档来阅读它,我将不胜感激。
编辑:拼写
答案 0 :(得分:1)
对于所有变异操作,MongoDB使用全局写锁(2.2之前的每个服务器和2.2中的每个数据库)。这意味着无论更新的实现细节如何,从客户端的角度来看它们都是原子的。全局写锁定保证没有其他客户端可以看到对单个文档的部分更新。
这里有关于MongoDB全局写锁的文档:http://www.mongodb.org/display/DOCS/How+does+concurrency+work