【发布时间】:2015-06-12 09:28:13
【问题描述】:
所以我故意与本网站的示例产生冲突:http://guide.couchdb.org/draft/conflicts.html(处理冲突)。
现在有两个修订版,CouchDB 用自己的算法决定使用哪个修订版,但我想保留两个修订版并将它们合并。
例如:我在 数据库 A 上获得了电话号码:111 和姓名:Jules,并且在 数据库 B 上获得了电话号码:222 和姓名:Jules。 是否可以创建一个新文档来保留旧版本和新版本中的所有信息? 或者像“NewPhonenumber: 222”这样的新字段和其他字段 Phonenumber: 111 和 Name: Jules ?
无论如何我只想保留两个修订版。
我试图写一个视图函数,但我只是不知道如何从冲突的数据库中获取数据。
function(doc) {
if(doc._conflicts)
emit(doc._id, doc);
emit(doc._id, {oldNumber: doc.phonenumber, newNumber: doc.phonenumber, name: doc.name});
}
如何将“oldNumber: doc.phonenumber”替换为旧版本中的号码?
谢谢!
【问题讨论】:
-
这可能值得你看看:github.com/glynnbird/deconflict
标签: merge couchdb conflict revision