5

对于以下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)))));

...我知道,如果第一次更新成功而第二次失败(在正常情况下应该是不可能的),第一次更新仍将应用于文档,这意味着批量写入不是严格原子的。但是,假设两个查询都成功了,操作是原子的吗?例如,其他写入是否可以在两个操作之间交错?

4

0 回答 0