当前位置:  开发笔记 > 编程语言 > 正文

如何更改MongoDB的map-reduce结果?

如何解决《如何更改MongoDB的map-reduce结果?》经验,为你挑选了1个好方法。

当我在Mongo数据库上运行Map-Reduce时,我通常会得到类似于以下内容的结果:

{ _id: , value: { : , ... } }

有没有办法省略该value: { ... }部分并直接插入value结果中的内容?基本上,我希望得到如下结果:

{ _id: , : , ... }

这样我就可以将结果合并回一个遵循这种格式的现有集合.

我还有一个关于Map-Reduce的另一个问题:是否可以通过a mapreduce函数访问另一个集合?



1> Marc..:

MapReduce只返回{_id:some_id,value:some_value}形式的文档

"some_value"不一定必须是嵌入式文档,但在大多数情况下,它允许通过Map Reduce函数计算多个变量.Reduce函数返回的文档必须与输入的格式相同,因为Reduce函数可能会针对任何给定的_id值重复运行.

有关Map Reduce如何工作的详细步骤,请参阅MongoDB Cookbook配方的"Extras"部分,标题为"使用版本化文档查找最大值和最小值" http://cookbook.mongodb.org/patterns/finding_max_and_min/ 这应该可以更好地理解Map Reduce的工作原理,以及为什么输出必须采用{_id:some_id,value:some_value}格式的原因

可以执行增量Map Reduce,它将合并多个Map Reduce函数的结果. http://www.mongodb.org/display/DOCS/MapReduce#MapReduce-IncrementalMapreduce

最后,目前无法使用Map Reduce一次访问多个集合.此功能有一项功能请求,但未安排将其添加到任何即将推出的版本中.
https://jira.mongodb.org/browse/SERVER-970

推荐阅读
TXCWB_523
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有