5

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

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

_冲突:[“2-17d3fcec15fbe3b1eed3e7f8a14eae35”]}

在此处输入图像描述

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

4

1 回答 1

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 并更新第一个 rev 并删除其他 revs。

还可以查看ruby​​ 上的版本

于 2018-01-22T16:27:51.593 回答