【问题标题】:CouchDB: query for "documents tagged with A or B"?CouchDB:查询“标记为 A 或 B 的文档”?
【发布时间】:2010-07-18 18:23:48
【问题描述】:

没有做客户端过滤或发布一次性 map/reduce(这将导致表扫描),有没有办法查询标记为 tagA 的文档 tagB?

【问题讨论】:

    标签: couchdb tagging


    【解决方案1】:

    向带有 function(doc){doc.tags.forEach(函数(标签){发射(标签,1)})}

    应该可以啊:)

    来自http://wiki.apache.org/couchdb/HTTP_view_API中的查询选项部分

    【讨论】:

    • 如果我错了,请纠正我,但我认为这会返回所有标记有 tagAtagB 的文档,不是吗? “... [可以发布] 只检索与该组键匹配的视图行”
    • @David 迈克半忘的一点是,这确实是一个批量请求。您正在 POST 到 _all_docs,它基本上说“给我所有 _id 与此数组中的任何内容匹配的文档”。更多信息请访问wiki.apache.org/couchdb/HTTP_Bulk_Document_API 另外,如果您开始处理更复杂的查询,请查看 couchdb-lucene。干杯。
    • 不,您不会发布到所有文档,而是发布到视图。在文档wiki.apache.org/couchdb/HTTP_view_API 中搜索“keys”,您可以使用与视图索引相同的 POST 样式界面,用于批量处理。
    猜你喜欢
    • 1970-01-01
    • 2011-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-07
    • 1970-01-01
    • 2012-04-09
    • 1970-01-01
    相关资源
    最近更新 更多