我在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操作时都会覆盖特定的键。我更愿意指定一些东西,允许我将相同的密钥插入到已经存在的集合中。
谢谢你的帮助。
我觉得没有意识到这一点有点傻。
解决方案:
for i in FOO.objects.map_reduce(map_f, reduce_f, {"merge":"COLLECTION_NAME"}):
pass