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
,因此该文档不再满足查询要求,在这种情况下,第二次写入是否可以继续?