我正在学习MongoDB并将URL缩短器实现为POC。我正在阅读NodeJS / Mongoose的教程并看到了这个方法:
Model.findByIdAndUpdate(id, [update], [options], [callback])
更新AND回调操作都是原子的吗?或者只是更新操作原子?
如果两者都是原子的,如何在Java中执行此操作? Mongo-java-driver有这个方法
collection.findOneAndUpdate(query, update, options);
但显然没有支持回调。任何帮助表示赞赏。
答案 0 :(得分:-2)
来自version 3.0的mongo java驱动程序中提供了回调。如果您使用的是较低版本的mongo java驱动程序,请将其升级到3.0或更高版本。
请参阅此post了解findOneAndUpdate回调示例
其他有用的帖子
https://github.com/mongodb/mongo-java-driver/tree/master/driver-async
http://www.programcreek.com/java-api-examples/index.php?api=com.mongodb.async.SingleResultCallback
http://mongodb.github.io/mongo-java-driver/3.0/?_ga=1.13498046.849992754.1476359743
原子性
MongoDB中的所有写入操作都是单个文档级别的原子操作。
https://docs.mongodb.com/v3.2/tutorial/update-documents/ https://docs.mongodb.com/v3.2/core/write-operations-atomicity/