问题描述
以前,我使用流导出和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 (将#修改为@)