选择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
....
}