使用远程couchdb删除,未触发相应的pouchDB更改事件

问题描述 投票:0回答:1

我正在使用couchbDb作为远程主数据库。我正在使用pouchDb将其复制到浏览器中。然后进行实时同步,以便我的远程主数据库中的任何更改都可以在浏览器中同步。随着所有插入/更新更改事件被触发,文档得到更新。但是,当我在master中删除文档时,删除未同步,浏览器不会触发“更改”事件。

我在这里想念什么吗?

this.db.replicate.from(this.remoteDb, {
  view: this.remoteView,
});

this.db
  .sync(this.remoteDb, {
     live: true,
     retry: true,
     pull: true,
     push: false,
     view: this.remoteView,
   })
   .on("change", info => {
        console.log("change from sync", info);
   });
typescript couchdb pouchdb
1个回答
0
投票

似乎您正在基于视图的map函数进行过滤的复制。在这种情况下,如果您对文档执行DELETE操作,则文档内容将被删除,因此过滤器所需的信息将丢失,并且该信息不会包含在已过滤的更改流中。

使用过滤的复制,应通过更新包含属性"_deleted":true的文档来删除文档。在这种情况下,文档内容将被保留,并且可以包含在过滤后的变更流中。

© www.soinside.com 2019 - 2024. All rights reserved.