假设我执行了以下步骤:
第0步:有一个包含3个mongod节点和一个文档的副本集:
{_id: 1, value: 5}
节点[1]是主节点。
步骤1 :客户端已通过writeConcern = 'majority'
执行以下操作:
collection.findOneAndUpdate({_id: 1}, {$inc: {value: 1}})
节点[1]和[2]已立即更新为值6,而节点[3]尚未更新。
第2步:由于自动故障转移节点[3]已成为主要节点。
第3步:客户端再次在节点[3]上执行了$inc
操作(尽管它仍然没有收到更新的值):
collection.findOneAndUpdate({_id: 1}, {$inc: {value: 1}})
mongodb可以为最后的操作提供哪些保证? 会失败吗?它可以将值更新为7以外的值吗?