use*_*293 3 couchdb mapreduce map nosql
我想知道如何使用CouchDB的map/reduce与多个参数.例如,如果我的球队有年龄和性别的球员,我想我会为我的地图功能做这个:
"function(doc){
if(doc.team_name) {
emit(doc.team_name, doc);
}
}"
Run Code Online (Sandbox Code Playgroud)
但是,我不确定如何编写一个reduce函数来获得团队中最年长的男性玩家或最年轻的女性或任意查询.我可以在URL中传入参数,还是必须编写多个视图?
提前谢谢,
本
减少功能有一点不同的目的.Reduce函数为它处理的所有文档分组一些值.因此,您可以对玩家的工资或年龄进行总结或计算.
如果你想获得团队中最老的玩家,只需将你的密钥设置emit为[team, age].视图始终按键排序.
function(doc) {
if (doc.team_name) {
emit([doc.team_name, doc.age], doc);
}
}
Run Code Online (Sandbox Code Playgroud)
现在只是查询你的观点.添加参数descending=true,所以最老的玩家是第一个.默认情况下,视图顺序是升序.如果您想让特定团队中的玩家(仍按年龄排序)添加参数:startkey=[<team>, 999]&endkey=[<team>,0]&descending=true
| 归档时间: |
|
| 查看次数: |
1733 次 |
| 最近记录: |