0

我在 python 中使用 MongoEngine map_reduce 功能。

根据位于此处的 MongoDB 文档,可以指定处理缩减数据的方式。具体来说,可以为“替换”、“合并”、“减少”或执行“内联”映射/减少提供参数。

我找不到有关如何为 MongoEngine map_reduce 函数指定类似参数的说明。该函数的文档可以在这里找到。

有人可以解释我如何将 map_reduce 操作的结果合并到已经存在的集合中吗?我无法内联执行 map_reduce 操作。

我正在使用以下代码来执行 map_reduce 操作:

map_f = """
    #javascript code
"""

reduce_f = """
    #javascript code
"""

for i in FOO.objects.map_reduce(map_f, reduce_f, "FOOResult"):
    pass

上面,“FOOResult”是一个新的集合,每次执行 mapreduce 操作时都会覆盖一个特定的键。我宁愿指定一些允许我将相同的键插入到已经存在的集合中的东西。

谢谢您的帮助。

4

1 回答 1

3

嗯,我觉得有点傻,没有意识到这一点。

解决方案:

for i in FOO.objects.map_reduce(map_f, reduce_f, {"merge":"COLLECTION_NAME"}):
    pass
于 2012-08-06T22:53:08.213 回答