Je travaille dans un projet en utilisant CouchDB
CouchBase lite
et Android
. Je veux utiliser une fonction filter donc je suis sur mon côté serveur:L'utilisation de filtres sur couchDB ne fonctionne pas
{
"_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;}"
}
}
Sur Android
que je fais:
pullwork = work.createPullReplication(url);
pullwork.setAuthenticator(auth);
if (PreferenceManager.getTabletNumber() > 80 && PreferenceManager.getTabletNumber() < 90) {
pullwork.setFilter("filters/work");
}else {
pullwork.setFilter("filters/workdata");
Mais cela ne fonctionne pas comme je l'espère et je suis toujours reçois juste la réplication maîtresse mais jamais la réplication de travail ou la réplication de workdata.
Une idée sur pourquoi?