我使用的是MongoDB的Java异步驱动程序版本3.6,我没有看到findAndModify
作为MongoCollection
类的一部分实现(我错了吗?),最接近的是findOneAndUpdate
有人可以确认此操作将以原子方式执行吗?
我理解并发更新是如何发生的。问题是非常具体的原子(读取+写入)保证了findOneAndUpdate api的原子性。这与询问如何使用findAndmodify不同。
答案 0 :(得分:1)
根据这些docs,单个写入事务是原子的。所以使用findOneAndUpdate,这确实是原子的。例如,如果您正在进行批量写入或更新,则每个操作都是原子操作,但不是所有操作。