我的应用程序的旧版本正在将过时的文件上传到我的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.username || doc._id == 'databaseversion') {
return false;
}
}"
正如您所看到的,不应该排除没有用户名的文档。但其中一些仍在复制。下面是我在PouchDB中开始复制的方法。我是否需要将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
}
})
答案 0 :(得分:0)
我最终解决了这个问题。我认为这只是其他设备上的旧版本应用程序,具有不同的同步规则同步它们不应该的东西。为了解决这个问题,我为每个文档添加了一个syncVersion密钥。现在我可以按版本进行过滤,以便应用程序的旧安装不会同步过时的内容。