PockDB已从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

我的应用程序的旧版本正在将过时的文件上载到我的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;
  }
}"
正如您所看到的,应该排除没有用户名的文档。但其中一些仍在复制。下面是我如何在数据库中启动复制。我是否需要将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密钥。现在我可以按版本进行过滤,以便旧安装的应用程序不会同步过时的内容