2017-06-23 16 views
1

私はCouchDBCouchBase liteAndroidを使ってプロジェクトに取り掛かりました。 AndroidcouchDBでフィルターを使用しても動作しません

{ 
    "_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;}" 
    } 
} 

私がやっている: 私は、サーバー側でやっているので、私はfilter機能を使用したい

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

をしかし、私は期待するように、それは動作しないと私は常に取得していますマスターレプリケーションのみですが、ワークレプリケーションやワークデータレプリケーションはありません。

なぜでしょうか?

答えて

0

フィルタ機能は現在サポートされていません。 Couchbase Liteドキュメントのthis sectionを参照してください。 (これはほんの数週間前に更新されたので、古いバージョンを見た場合には謝罪します)

this GitHub issueを参照してください。なぜそれがサポートされていないのかについて詳しく知ることができます。本質的には、現在のところ、CouchDBのドキュメントでは、互換性を実現するのに十分なものは何も記述されていません。

関連する問題