我正在开发一个离线工作的原型(prototype)网站,它利用 Pouch DB,以便在它上线时同步备份到服务器上的 CouchDB。

Pouch DB conflicts guide 说:



你怎么做到这一点?我尝试了以下功能,但都没有按预期工作:

function (current, chosen) {
    chosen._rev = current._rev;
    chosen._conflicts = [];
    db.put(chosen);
};

function (chosen) {;
    db.put(chosen);
};

top函数需要两个文件:
  • 当前获胜者的文档
  • 用户选择成为新获胜者的文档。

  • 我在某些地方( like here )读到删除丢失的冲突是必要的,但如果可能的话,我宁愿不删除任何内容,并且 Pouch DB 指南没有提到这一点。

    最佳答案

    你是对的;您需要删除失败的冲突(听起来很令人讨厌)。我写指南的时候犯了一个错误;除非您删除它们,否则冲突仍然存在。

    顺便说一句,删除冲突的修订版只是意味着在它们之上添加一个“墓碑”。因此,除非您明确压缩数据库,否则实际上不会“删除”任何内容。 PouchDB 和 CouchDB 都是这种情况。

    编辑: 我修复了文档。在任何情况下,您能否更新指南以反射(reflect)您需要删除任何不需要的冲突修订这一事实?我们喜欢拉取请求,尤其是那些直接处理过这类事情的人! :) 需要修改的文件是 this one

    关于javascript - Resolve Pouch Couch DB,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27193171/

    10-11 12:00