CouchDB 复制在 _conflict 后停止

CouchDB replication stopped after a _conflict

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

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

_conflicts: ["2-17d3fcec15fbe3b1eed3e7f8a14eae35"]}

我猜冲突是在第二次修改文件时,是吗?我对同一份文件有 7 次修订 我的问题是如何解决?我怎样才能消除这个冲突?

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

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

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

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

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

也可以在 ruby

上查看版本