MongoEngine map_reduce合并集合

时间:2012-08-06 19:21:33

标签: python mongodb mapreduce mongoengine

我在python中使用MongoEngine map_reduce功能。

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

我无法找到有关如何为MongoEngine map_reduce函数指定类似参数的说明。可以找到该函数的文档here

有人可以解释我如何将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操作发生时都会覆盖一个特定的键。我宁愿指定允许我将相同的键插入已存在的集合中的内容。

感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

我觉得有点傻到没有认识到这一点。

解决方案:

for i in FOO.objects.map_reduce(map_f, reduce_f, {"merge":"COLLECTION_NAME"}):
    pass