gpt4 book ai didi

MongoDB MapReduce - 发出一个键/一个值不调用reduce

转载 作者:IT老高 更新时间:2023-10-28 13:05:50 26 4
gpt4 key购买 nike

所以我是 mongodb 和 mapreduce 的新手,遇到了这个“怪癖”(或者至少在我看来是一个怪癖)

假设我的收藏中有这样的对象:

{'key':5, 'value':5}

{'key':5, 'value':4}

{'key':5, 'value':1}

{'key':4, 'value':6}

{'key':4, 'value':4}

{'key':3, 'value':0}

我的 ma​​p 函数只是发出键和值

我的 reduce 函数只是在返回它们之前添加值 AND 加 1(我这样做是为了检查是否调用了 reduce 函数)

我的结果如下:

{'_id': 3, 'value': 0}

{'_id':4, 'value': 11.0}

{'_id':5, 'value': 11.0}

如您所见,对于键 4 和 5,我得到了 11 的预期答案,但是对于键 3(集合中只有一个条目与该键)我得到了意想不到的 0!

这是 mapreduce 的自然行为吗?对于 MongoDB?对于 pymongo(我正在使用)?

最佳答案

reduce 函数将具有相同键的文档合并为一个文档。如果 map 函数为特定键发出单个文档(如键 3 的情况),则不会调用 reduce 函数。

关于MongoDB MapReduce - 发出一个键/一个值不调用reduce,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11021733/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com