选择CouchDB中没有某些键的文档

问题描述:

如果您的文章文档包含嵌入的标签数组,那么如何选择不包含某些特定标签的文章?选择CouchDB中没有某些键的文档

感谢

这是很容易创建视图其排除不包含某些特定的标记文件。这里记录在这里:CouchDB Wiki: View Snippets: Retrieving documents without a certain field

但是,我怀疑你真正想要的是一种动态的方式,通过一个单一的视图你可以传递一个包含你想排除的标签的参数。这非常棘手,我不知道如何做到这一点。如果是这样的话,我建议你在couchdb-user mailing list或者IRC频道(irc://irc.freenode.net/couchdb)上提问。这是一个积极和有帮助的社区,所以有人一定会试图帮助你解决这个问题。

FWIW,我做了一个快速搜索,发现这个有趣的想法:Using _list for query post-processing。没有回应,但这是一个有趣的想法,可能值得探索。

HTH!

是的,正如@AviFlax建议的那样,使用_list来发布您的视图将会起作用。
请注意,您可以将任意参数发送到视图,并将它们放入req.query对象的列表中。

实施例:

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

的任意参数的一些,可以将列表函数中获得,并且因此用于过滤或其它处理。

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