Map-reduce是一个考虑大型数据得到有用聚集结果的数据处理程式(paradigm).针对map-reduce操作,MongoDB提供来mapreduce命令. 考虑下面的map-reduce操作: JavaScript 函数 在MongoDB,map-reduce操作使用自定义的函数去map,或者进行键和的关联。如果一
Map-reduce是一个考虑大型数据得到有用聚集结果的数据处理程式(paradigm).针对map-reduce操作,MongoDB提供来mapreduce命令.
考虑下面的map-reduce操作:
JavaScript 函数
在MongoDB,map-reduce操作使用自定义的函数去map,或者进行键和值的关联。如果一个键有多个值和它对应,则reduce操作将该键的值“减”到单一的对象(the operation reduces the values for the key to a single object)。
自定义的javascript函数给map-reduce带来了灵活性。举个例子,当处理一个文档,map函数产生多于一个的键值对匹配或者没有键值对匹配。Map-reduce函数也可以使用一个自定义的javascript函数在map和reduce函数操作结束时对结果进行最终的修改。
Map-Reduce 行为
在MongoDB,map-reduce函数能够联机往集合写入结果或返回结果。如果你将map-reduce的输出写入一个集合,你可以在相同的输入集合上执行随后的map-reduce操作,并会合并替代、合并,或者削减之前的结果。
当联机返回map-reduce操作的结果,结果文档必须在BSON Document Size限制内,目前是16M。
MongoDB支持在共享集合上的map-reduce操作,也能向共享集合输出结果。