PockDB已从couchDB筛选复制未筛选
我的应用程序的旧版本正在将过时的文件上载到我的couchDB数据库。 这是我的couchDB设计文档,用于过滤PockDB已从couchDB筛选复制未筛选,couchdb,pouchdb,Couchdb,Pouchdb,我的应用程序的旧版本正在将过时的文件上载到我的couchDB数据库。 这是我的couchDB设计文档,用于过滤 "function(doc, req) { if(doc._id === '_design/app') { return true; } if(doc._id.slice(0, 8) == '_design/') { return false; } if (doc.username === 'localUser' || !doc.userna
"function(doc, req) {
if(doc._id === '_design/app') {
return true;
}
if(doc._id.slice(0, 8) == '_design/') {
return false;
}
if (doc.username === 'localUser' || !doc.username || doc._id == 'databaseversion') {
return false;
}
}"
正如您所看到的,应该排除没有用户名的文档。但其中一些仍在复制。下面是我如何在数据库中启动复制。我是否需要将vocabcouchdb作为src和localdb的目标,以便使用vocabcouchdb上的设计文档先检查要过滤的内容
syncObjWords = PouchDB.sync(localdb, vocabcouchdb, {
live: true,
retry: true,
filter: 'app/reject_other_users_personal_words',
query_params: {
'username': $rootScope.globalUserData.username
}
})
我最终解决了这个问题。我认为这只是其他设备上应用程序的旧版本,它们有不同的同步规则,同步它们不应该同步的东西。为了修复它,我为每个文档添加了一个syncVersion密钥。现在我可以按版本进行过滤,以便旧安装的应用程序不会同步过时的内容