MongoDB对文档的原子更新

时间:2019-02-20 07:04:59

标签: mongodb

mongodb说它会自动更新文档,这是否意味着当有两个并发更新出现时,第二个更新会尝试在更新文档之前再次验证其所有过滤器?

例如说我们有文档

{ 
  name: "bob", 
  age: 17 
}

现在有两个更新操作

1- { age : { "$eq": 17 }}, { $set: { "eligible": true, age: 18 }}
2- { age : { "$eq": 17 }}, { $set: { "eligible": true, age: 18, "meta": {} }}

在这种情况下,两个查询都将匹配同一文档,并且我假设在更新时只能进行一个查询。假设第一个写入是1

现在,当mongodb尝试使用2更新文档时,由于年龄现在是18,因此该文档不再满足查询要求,在这种情况下,第二次写入是否可以继续?

0 个答案:

没有答案