我的CouchDB中有这样的文档:
{
"_id": "0cb35be3cc73d6859c303fa3200011d2",
"_rev": "1-f6e356bbf6ab09290aae11132af50d66",
"adresse": "Bohrgaß 10 /",
"plz": 56814,
"ort": "Faid /",
"kw": 2.32,
"traeger": "SOL"
...
}
某些属性有预定义的类别,例如traeger:“SOL”,“BIO”,“WAS”; kw:< 2,2-5,5-20,20-100; plz:56814,plz:56815; ......
我必须能够有效地查询每个类别的文档总数 在特定条件下的文档总数和文档本身。例如。
用户可以选择他喜欢组合的类别。类别是修复。还会有更多属性和类别。
如何映射/缩小函数看起来像?
马塞尔
答案 0 :(得分:3)
由于您要计算文档,因此reduce函数只是built-in count。您的地图功能需要发出用户要搜索的相应密钥。最后,在查询视图时,必须选择适当的组级别。
示例:您可以使用复合键[“traeger”,“kw”]创建视图。如果使用group_level = 2查询该视图,则会获得每个traeger和kw组合的文档数。
如果您只关心传感器“SOL”,则可以使用start_key和end_key参数限制输出。
如果您想知道每个“traeger”类别中的文档数量,无论其“kw”如何,您都可以使用group_level 1查询该视图。
对于您的第二个示例,您可以使用键[“plz”,“kw”,“traeger”]创建一个视图,并使用start_key和end_key查询它以将结果限制为plz = 56814 AND kw< 2并将group_level设置为3。
此处列出查询视图选项:
http://wiki.apache.org/couchdb/HTTP_view_API#Querying_Options