CouchDB合并修订(冲突)

时间:2015-06-12 09:28:13

标签: merge couchdb conflict revision

因此,我使用此网站的示例故意引发冲突:http://guide.couchdb.org/draft/conflicts.html(使用冲突)。

现在有两个版本,CouchDB决定用自己的算法使用哪个版本,但我想保留两个版本并合并它们。

作为一个例子:我得到了Phonenumber:111和姓名:Jules在数据库A 和Phonenumber:222和名称:Jules在数据库B 。 是否可以创建一个新文档,保留旧版本和新版本的所有信息? 或者像NewPhonenumber:222这样的新领域和其他领域Phonenumber:111和Name:Jules?

我只是想保留两个版本,无论如何。

我尝试编写一个View函数,但我不知道如何从冲突的数据库中获取数据。

flash-sockets

如何将“oldNumber:doc.phonenumber”替换为旧版本中的数字?

谢谢!

1 个答案:

答案 0 :(得分:0)

属性doc._conflicts包含一个或多个冲突的文档修订版 - 您必须遍历列表并获取所需的值。

如果您在视图中执行此操作,则永远不会存储冲突解决方案。您必须将解析后的doc版本作为新版本发送到CouchDB。

您可以使用查询参数?conflicts=trueCouchDB documentation中的更多内容)请求文档及其冲突,并将您的决定存储为新版本。