标签: couchdb b-tree
据我了解,CouchDb永远不会覆盖记录,而是使用新的_rev创建一个新文档。在这种情况下会发生什么?
在这种情况下,用户A的更改是否丢失了?
答案 0 :(得分:6)
不,用户B将获得409错误,因为转速将不再匹配。对于用户B提交其文档,他们将需要重新获取文档,以便他们可以获得最新的文档修订。
这称为乐观锁定,旨在专门防止您遇到的问题。
没有什么可以阻止用户B踩踏用户A的文档,但现在他们通过重新获取文档并使用新的_rev参数来更加清楚它。