如果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