MongoDB批量更新是否适用于同一文档?

时间:2016-12-13 22:44:29

标签: mongodb atomic atomicity bulkupdate interleave

对于以下命令,其中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)))));

...我理解如果第一次更新成功而第二次更新失败(在正常情况下应该是不可能的)first update will still be applied to the document,这意味着批量写入不是严格原子的。但是,假设两个查询都成功,那么操作是原子的吗?例如。是否可以在两个操作之间进行其他写入交错?

0 个答案:

没有答案