pouchDB 基于逻辑过滤复制

pouchDB filtering replication based on logic

我正在尝试了解过滤器的工作原理。

我的目标是排除 typeuser_submits 的文档,只抓取 type 的文档不到一个月前创建的表单

我这样做对吗?如果我的所有需求都得到满足,我会 return doc 吗?

local_db.replicate.from(remote_db, {
  filter: function (doc) {
      if(doc.type == 'form')
        if(doc.created >= (Math.floor(Date.now() / 1000)-2419200))
          return doc;
      else if(doc.type !== 'user_submits') return doc;
  }
}).on('complete', function () {
  console.log("success");
})
.on('error', function (err) {
  console.log("error");
});

我问这个是因为我看到的唯一过滤示例如下所示,我对它背后的逻辑感到困惑。

filter: function (doc) {
  return doc.type === 'marsupial';
}

过滤函数return true of false。如果应该复制文档,则 return 为真。否则为假。