英文原文:http://www.mongodb.org/display/DOCS/MapReduce
MapReduce在mongodb中使用主要做为批处理数据和聚合操作,比较像Hadoop,所有的输入来自一个结合,所有的输出到一个集合,更像是传统关系数据库中的group聚合操作,mapreduce是一个很有用的工具在mongodb中。
在mongodb中索引和标准的查询很大程度上依赖于map/reduce,如果你在过去使用过CouchDB ,注意couchdb和mongodb是很大不同的,mongodb中的索引和查询更像是mysql中的索引与查询。
map/reduce 是mongodb的一个命令接口,特别是用在集合的输出操作上效果更佳,map和reduce函数通过javascript来编写,然后在服务器中执行,命令格式语法如下
db.runCommand(
{ mapreduce : <collection>,
map : <mapfunction>,
reduce : <reducefunction>
[, query : <query filter object>]
[, sort : <sorts the input objects using this key. Useful for optimization, like sorting by the emit key for fewer reduces>]
[, limit : <number of objects to return from collection>]
[, out : <see output options below>]
[, keeptemp: <true|false>]
[, f