Javascript b+;冲突解决
关于这个难题,我有一个非常简单的问题: 冲突解决在数据库中是如何工作的Javascript b+;冲突解决,javascript,pouchdb,Javascript,Pouchdb,关于这个难题,我有一个非常简单的问题: 冲突解决在数据库中是如何工作的 我查看了文档,也快速地用谷歌搜索了一下,但没用。那么,如何在使用PockDB的应用程序中处理冲突管理呢?以下是如何在CouchDB中处理冲突的,您可以直接将其转换为PockDB术语,因为API完全相同 获取文档时,使用conflicts=true请求冲突(get()与数据库中的{conflicts:true}): 您将收到如下文档: { "_id":"foo", "_rev":"2-f3d4c66dcd7596419c76b
我查看了文档,也快速地用谷歌搜索了一下,但没用。那么,如何在使用PockDB的应用程序中处理冲突管理呢?以下是如何在CouchDB中处理冲突的,您可以直接将其转换为PockDB术语,因为API完全相同 获取文档时,使用
conflicts=true
请求冲突(get()
与数据库中的{conflicts:true}
):
您将收到如下文档:
{
"_id":"foo",
"_rev":"2-f3d4c66dcd7596419c76b2498b3ba21f",
"notgonnawork":"this is from the second db",
"_conflicts":["2-c1592ce7b31cc26e91d2f2029c57e621"]
}
另一个数据库引入了冲突,该数据库的修订版(随机)获胜。如果使用双向复制,两个数据库将提供相同的答案
请注意,两个修订都以“2-”开头。这表示它们都是文档的第二个修订,并且都位于修订树的同一级别
使用修订ID,在数据库中获取冲突版本(get()
,与{rev=…}
):
http://localhost:5984/db1/foo?conflicts=true
http://localhost:5984/db1/foo?rev=2-c1592ce7b31cc26e91d2f2029c57e621
您将收到:
{
"_id":"foo",
"_rev":"2-c1592ce7b31cc26e91d2f2029c57e621",
"notgonnawork":"this is from the first database"
}
将两个冲突的版本呈现给用户后,您可以将第三个版本置于这两个版本之上。您的第三个版本可以组合结果、选择输家或任何您想要的内容
高级阅读: