我正在开发一个离线工作的原型网站,该网站使用Pouch DB,以便在服务器上线时同步回CouchDB。
要解决冲突,您可以在当前获胜者的基础上添加()新修订版。
你是怎么做到的?我尝试了以下功能,但都没有按预期工作:
function (current, chosen) {
chosen._rev = current._rev;
chosen._conflicts = [];
db.put(chosen);
};
function (chosen) {;
db.put(chosen);
};
top函数需要两个文档:
我已经在某些地方(like here)读到删除丢失的冲突是必要的,但如果可能的话我宁愿不删除任何内容,而且Pouch DB指南也没有提到这一点。
答案 0 :(得分:7)
你是对的;你需要删除失败的冲突(听起来不那么令人讨厌)。我编写指南时犯了一个错误;除非您删除冲突,否则冲突仍然存在。
顺便说一句,删除冲突的修订只是意味着添加一个"墓碑"在他们之上。所以真的没有什么东西被删除"除非您明确压缩数据库。 PouchDB和CouchDB都是这种情况。
修改:我修复了文档。 在任何情况下,您能否请更新指南以反映您需要删除任何不需要的冲突修订的事实?我们喜欢拉动请求,特别是那些亲自处理过这种东西的人! :)需要修改的文档是this one。