【发布时间】:2018-10-23 04:14:55
【问题描述】:
我有一个类似的代码
db.myColletion.update({'_id':ObjectId("...")}, {'$set': {'state': 'CA'}})
上面是原子操作吗?
我是否需要在单个文档上使用 findAndModify 来实现原子性??
【问题讨论】:
标签: mongodb
我有一个类似的代码
db.myColletion.update({'_id':ObjectId("...")}, {'$set': {'state': 'CA'}})
上面是原子操作吗?
我是否需要在单个文档上使用 findAndModify 来实现原子性??
【问题讨论】:
标签: mongodb
是的,MongoDB 的所有写入操作都是在单个文档级别的atomic。
update 和findAnyModify 之间的主要区别在于后者还为您提供原始或更新的文档。
【讨论】:
参见the docs for findAndModify,特别是comparisons with the update method 部分。
修改单个文档时,findAndModify 和 update() 方法都会自动更新文档。
【讨论】: