2010-10-06 4 views

Répondre

2

Il est assez facile de créer des vues qui excluent les documents qui ne contiennent pas des balises spécifiques. Ceci est documenté ici: CouchDB Wiki: View Snippets: Retrieving documents without a certain field.

Cependant, je soupçonne que ce que vous voulez vraiment est un moyen de le faire de manière dynamique, en ayant une seule vue à laquelle vous pourriez passer un paramètre contenant le (s) tag (s) que vous vouliez exclure. C'est assez difficile, et je ne sais pas comment on pourrait le faire. Si c'est le cas, je vous suggère de poster une question au couchdb-user mailing list ou au canal IRC (irc: //irc.freenode.net/couchdb). C'est une communauté active et utile donc quelqu'un va certainement essayer de vous aider à comprendre cela. J'ai fait une recherche rapide et j'ai trouvé cette idée intéressante: Using _list for query post-processing. Il n'y a pas eu de réponse, mais c'est une idée intéressante et peut-être intéressante à explorer.

HTH!

0

Oui, comme le suggère @AviFlax, l'utilisation d'un _list pour post-traiter votre vue fonctionnera.
Notez que vous pouvez envoyer des paramètres arbitraires à la vue et les récupérer dans la liste sous l'objet req.query.

Exemple:

GET http://host/db/_design/ddoc/_list/a-list/a-view?some="thing" 

Le paramètre arbitraire certains, peut être obtenu à l'intérieur de la fonction de liste, et ainsi utilisé pour la filtration ou tout autre traitement.

function(head, req) { 
    var some = req.query.some 
    .... 
} 
Questions connexes