MongoDB 中的 MapReduce 可以用来实现更复杂的聚合命令,使用 MapReduce 主要实现两个函数:map 函数和reduce函数
Map-Reduce 是一种计算模型,简单的说就是将大批量的集合文档进行分组(Map),然后再将分组后的 key-value 键值对结果进行统计得到最终结果(Reduce)。MongoDB 提供的 Map-Reduce 非常灵活,对于大规模分布式数据分析也相当实用。
db.collection.mapReduce( function() {emit(key,value);}, # map 函数 function(key,values) {return reduceFunction}, # reduce 函数 # 可选操作 { out: collection, query: document, sort: document, limit: number } )
使用 MapReduce 要实现两个函数 Map 函数和 Reduce 函数,Map 函数调用 emit(key, value), 遍历 collection 中所有的记录, 将 key 与 value 传递给 Reduce 函数进行处理。
Map 函数必须调用 emit(key, value) 返回键值对。
参数说明: