如果MongoDB适用于同一文档,它们是否是批量更新的原子?
对于以下命令, query
只能匹配一个文档(请注意,默认情况下, bulkWrite()
是有序的):
final BulkWriteResult res = db.getCollection("mycol").bulkWrite(Arrays.asList(
new UpdateOneModel<>(query,
new Document("$addToSet", new Document("some_things", things))),
new UpdateOneModel<>(query,
new Document("$pull", new Document("some_things", otherthings)))));
...我明白,如果第一次更新成功,第二次更新失败(在正常情况下应该是不可能的),第一次更新仍将应用于文档,这意味着批量写入不是严格原子的。 但是,假设两个查询都成功了,操作是否是原子操作? 例如,其他写操作是否可以在两个操作之间交错?
链接地址: http://www.djcxy.com/p/61957.html上一篇: Are MongoDB bulk updates atomic if they apply to the same document?
下一篇: Query documents, update it and return it back to MongoDB