使用PouchDB过滤复制时未定义require

时间:2015-06-18 10:55:02

标签: couchdb pouchdb

我在PouchDB和CouchDB之间设置了双向复制,我希望过滤复制,以便只有相关文档最终放在我的本地邮袋中。

pouchDB('medic').sync('http://localhost:5984/medic', {
  live: true,
  retry: true,
  filter: 'medic/doc_by_place'
});

当我执行同步时,我从下面的匿名函数中获取Uncaught ReferenceError: require is not defined

(function () { return function(){return require("lib/app")["filters"]["doc_by_place"].apply(this, arguments);} })()

这是来自哪里,为什么require没有定义?

1 个答案:

答案 0 :(得分:0)

此错误来自sync,而不是来自的。服务器端过滤器仅对来自调用的有意义。要过滤复制,请执行adhoc filter function

我最终将复制拆分为两个,如下所示。

pouchDB('medic')
  .replicate.from('http://localhost:5984/medic', {
    live: true,
    retry: true,
    filter: 'medic/doc_by_place'
  });

pouchDB('medic')
  .replicate.to('http://localhost:5984/medic', {
    live: true,
    retry: true
  });