我在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操作发生时都会覆盖一个特定的键。我宁愿指定允许我将相同的键插入已存在的集合中的内容。
感谢您的帮助。
答案 0 :(得分:3)
我觉得有点傻到没有认识到这一点。
解决方案:
for i in FOO.objects.map_reduce(map_f, reduce_f, {"merge":"COLLECTION_NAME"}):
pass