深入探索MongoDB:从Map/Reduce到Ruby项目搭建
1. Map/Reduce函数编写
假设我们有如下文档结构:
{
"name": "Oliver Twist",
"votes": ["Gautam", "Harry"],
"published_on": "December 30, 2002"
}
针对该结构的map函数如下:
function() {
emit( this.name, {votes : this.votes} );
}
这里的 emit 函数用于发出数据,数据以 (key, value) 结构发出。其中, key 是我们想要收集信息的参数,类似于SQL中 GROUP BY 子句使用的字段; value 是一个JSON对象,会被 reduce 函数处理。在 map 函数中可以多次调用 emit ,意味着对同一对象进行多次数据处理。
reduce 函数用于处理 map 函数发出的信息并发出聚合结果。其签名如下:
fu
超级会员免费看
订阅专栏 解锁全文
68

被折叠的 条评论
为什么被折叠?



