Javascript 解决邮袋沙发数据库

Javascript 解决邮袋沙发数据库,javascript,couchdb,pouchdb,nosql,Javascript,Couchdb,Pouchdb,Nosql,我正在开发一个离线工作的原型网站,它使用PockDB,这样当它在线时,它会同步到服务器上的CouchDB 报告说: 为了解决冲突,您可以在当前获胜者的上方简单地放置一个新的修订 你是怎么做到的?我已尝试了以下功能,但均未按预期工作: function (current, chosen) { chosen._rev = current._rev; chosen._conflicts = []; db.put(chosen); }; function (chosen) {;

我正在开发一个离线工作的原型网站,它使用PockDB,这样当它在线时,它会同步到服务器上的CouchDB

报告说:

为了解决冲突,您可以在当前获胜者的上方简单地放置一个新的修订

你是怎么做到的?我已尝试了以下功能,但均未按预期工作:

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

function (chosen) {;
    db.put(chosen);
};
顶部函数包含两个文档:

  • 当前获奖者的文档
  • 用户选择成为新赢家的文档

我在一些地方读到()删除丢失的冲突是必要的,但如果可能的话,我不想删除任何内容,而Pocket DB指南中也没有提到这一点。

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

顺便说一下,删除相互冲突的修订只意味着在它们上面添加一个“墓碑”。因此,除非显式压缩数据库,否则不会“删除”任何内容。PockDB和CouchDB都是这种情况


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

老实说,我正在努力让它自己工作,也许如果我得到它的工作,我会考虑更新指南,但说实话,我想有人谁知道他们正在谈论什么应该更新的文件!我也很困惑,因为我一直发现你自己的答案与此相矛盾(比如)有没有关于如何做到这一点的明确指南?另一件让我困惑的事情是,如果我用{conflications:true}“得到”一个失败的修订,它会将自己列为唯一的冲突。这是预期的行为吗?谢谢如果我的评论有误,请打电话告诉我。:)至于明确的指南:是的,有。请记住,PockDB将CouchDB实现到最小的细节,因此除了极少数情况外,您可以只使用他们的文档。