在_conflict之后CouchDB复制停止

JoC*_*uTo 5 couchdb revisions revision-history

我有一个用户,今天没有复制其他用户在我的CoucDB数据库中添加的新文档,换句话说,用户A没有看到用户B,C每天都添加的文档 .

我已经看到从用户A添加到CouchDB 的最后一个文档,我看到该文档有一个新字段

_conflicts:["2-17d3fcec15fbe3b1eed3e7f8a14eae35"]}

在此输入图像描述

我想冲突是在文件的第二次修订中,不是吗?关于同一文件我有7个版本我的问题是如何解决它?我怎么能消除这种冲突?

ven*_*iac 2

CouchDB 不会尝试合并冲突的修订版。

您的应用程序决定了如何进行合并。

请参阅http://docs.couchdb.org/en/2.0.0/replication/conflicts.html

但一般来说,建议的算法来获取具有冲突解决方案的文档:

  • 通过获取文档GET docid?conflicts=true request
  • 对于 _conflicts 数组中的每个成员call GET docid?rev=xxx。如果在此阶段出现任何错误,请从步骤 1 重新开始。(可能存在一场比赛,其他人已经解决了此冲突并删除了该 rev)
  • 执行特定于应用程序的合并
  • 写入 _bulk_docs 并更新第一个版本并删除其他版本。

另请参阅ruby​​ 上的版本