PouchDB无法同步已删除的文档

问题描述

以前,我使用流导出和pouchdb加载插件执行了pouchdb数据库的导出/导入,但是每次导出时,数据库的大小都增加了很多。

这就是为什么它通过以下方式进行操作:导出:

// Get documents not deleted
    db1.allDocs({include_docs: true})

// Get documents deleted
getDeletedDocuments() {
    const docsDeleted = [];
    return new Promise((resolve,reject) => {
      this._db.changes({
        filter: (doc) => (doc._deleted)
      }).on('change',(doc) => {
        docsDeleted.push({ doc: { _id: doc.id,_deleted: doc.deleted,_rev: doc.changes[0].rev } })
      }).on('complete',(complete) => {
        resolve(docsDeleted);
      }).on('error',(error) => {
        reject(error);
      })
    });
  }

我将这两个数组(消除/未消除)连接在一起(concat)以拥有所有文档,然后制作bulkDocs

导入:

// Upload documents to the new database (news_edits: true so that the document revision does not change)
db2.bulkDocs(data,{ new_edits: false });

稍后我将进行数据库同步:

db2.sync(remote,{live: false})
 .on('complete',(complete) => {
   console.log(complete);
}).on('error',(error) => {
   console.log(error);
});

它可以正常工作,但是,已删除的文档未与couchdb同步,在ouchdb中仍显示删除的文档。

等待您的评论

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)