在 couchDB 上使用过滤器不起作用

乔库托

我正在一个使用CouchDB CouchBase lite的项目中工作Android我想使用过滤器功能,所以我在我的服务器端做:

   {
   "_id": "_design/filters",
   "_rev": "xxxxxxxxxxxxxxxx",
   "filters": {
       "master": "function(doc, req) { if(true==doc.ismaster) { return true; } else { return false; }}",
       "work": "function(doc, req) { if(true!=doc.ismaster) { return true; } else { return false; }}",
       "workdata": "function(doc, req){if (true==doc.ismaster){return false;}if (req.query.device_num==doc.device_num){return true;}if (doc.type=='field_order'){return true;}if (req.query.device_num=='20' || req.query.device_num=='21' || req.query.device_num=='22' || req.query.device_num=='23'){return true;}return false;}"
   }
}

Android我做的:

 pullwork = work.createPullReplication(url);
        pullwork.setAuthenticator(auth);
        if (PreferenceManager.getTabletNumber() > 80 && PreferenceManager.getTabletNumber() < 90) {
            pullwork.setFilter("filters/work");  
        }else {
            pullwork.setFilter("filters/workdata");

但它不像我期望的那样工作,我总是只得到主复制,但从来没有得到工作复制或工作数据复制。

知道为什么吗?

当前不支持过滤器功能。请参阅Couchbase Lite 文档中的这一部分(这是几周前才更新的,如果您看到旧版本,请见谅。)

您可能还想查看这个 GitHub 问题您可以找到有关为什么不支持它的更多详细信息。本质上,现在,CouchDB 文档没有很好地描述实现兼容性所需的内容。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章