我有一些文件的"状态"字段为"绿色","红色","琥珀色".
我确信可以使用MapReduce来生成包含三个键(每个状态一个)的分组响应,每个键的值包含具有该键的所有文档的数组.但是,我正在努力研究如何使用re(reduce)函数.
地图功能:
function(doc) {
emit(doc.status, doc);
}
Run Code Online (Sandbox Code Playgroud)
减少功能:???
这不是一个旨在解决的问题; CouchDB中的reduce用于聚合.
如果我理解正确,你想要这个;
地图:
function(doc) {
for (var i in doc.status) {
emit(doc.status[i], null);
}
}
Run Code Online (Sandbox Code Playgroud)
然后,您可以找到所有状态为绿色的文档;
/_design/foo/_view/bar?key="Green"&include_docs=true
Run Code Online (Sandbox Code Playgroud)
这将返回具有该状态的所有文档的列表.如果您希望在单个查询中找到多个状态的文档,请使用带有此表单正文的http POST;
{"keys":["Green", "Red"]}
Run Code Online (Sandbox Code Playgroud)
HTH,B
| 归档时间: |
|
| 查看次数: |
171 次 |
| 最近记录: |