mongodb $set更新同一文档不同字段,会产生脏数据么
高并发下可能同时更新不同字段,比如俩人同时更新,A更新字段一,B更新字段二。会不会A在更新的同时B也在更新然后A更新的字段又回去了。有篇文章说$set是更新某个字段,这个操作是原子的。但是我没有在比较多的地方或者比较权威的地方看到这个描述。不会产生上边我说的这个问题吧?
mongoDB修改器之$set by lockymeng
大概就是下边俩句同时执行
db.users.update({"name":"mfw"},{"$set":{"addr":"shandong"}})
db.users.update({"name":"mfw"},{"$set":{"mobile":"13333333333"}})
更正一下,已经确认是原子操作,是我看的不仔细,但是我还是有点疑惑同时更新不同字段有影响么
mongo 对单一文档的写操作总是原子的.
其实题主是想要一个权威的说法, 肯定没有什么比官方文档更权威了:
参考: mongo 官方文档 - Atomicity and Transactions