findOneAndUpdate是否以原子方式执行更新? (因为Java MongoDB异步驱动程序中没有findAndModify)

时间:2018-05-17 13:58:25

标签: mongodb mongo-java-driver

我使用的是MongoDB的Java异步驱动程序版本3.6,我没有看到findAndModify作为MongoCollection类的一部分实现(我错了吗?),最接近的是findOneAndUpdate有人可以确认此操作将以原子方式执行吗?

我理解并发更新是如何发生的。问题是非常具体的原子(读取+写入)保证了findOneAndUpdate api的原子性。这与询问如何使用findAndmodify不同。

1 个答案:

答案 0 :(得分:1)

根据这些docs,单个写入事务是原子的。所以使用findOneAndUpdate,这确实是原子的。例如,如果您正在进行批量写入或更新,则每个操作都是原子操作,但不是所有操作。