Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/479.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 数据库不同步已删除的文档_Javascript_Couchdb_Pouchdb - Fatal编程技术网

Javascript 数据库不同步已删除的文档

Javascript 数据库不同步已删除的文档,javascript,couchdb,pouchdb,Javascript,Couchdb,Pouchdb,之前,我使用stream export和PockDB load插件执行了PockDB数据库的导出/导入,但是每次导出时,数据库的大小都会增加到不可思议的高度 这就是为什么它采用以下方式:导出: // Get documents not deleted db1.allDocs({include_docs: true}) // Get documents deleted getDeletedDocuments() { const docsDeleted = []; retu

之前,我使用stream export和PockDB load插件执行了PockDB数据库的导出/导入,但是每次导出时,数据库的大小都会增加到不可思议的高度

这就是为什么它采用以下方式:导出:

// 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同步,在couchdb中仍然显示删除的文档


等待您的评论。

在您的
更改
处理程序中,代码引用
\u deleted:doc.deleted
。应将其
\u删除:doc.\u删除
(注意下划线)。