所以我对mongodb和mapreduce基本上是新手,遇到了这个"怪癖"(至少在我看来是怪癖)
假设我的Collection 中有这样的物品:
{'key':5'value':5}
{'key':5'value':4}
{'key':5'value':1}
{'key':4'value':6}
{'key':4'value':4}
{'key':3'value':0}
我的map函数只发出键和值
我的reduce函数只是在返回值AND加1之前将其相加(我这样做是为了判断reduce函数是否被调用)
我的结果如下:
{u id:3'value': 0}
{u id:4,‘value:11.0}
{u id:5,‘value:11.0}
如您所见,对于键4&;5我得到了预期的答案11,但对于键3(在集合中只有一个带有该键的条目),我得到了意外的0!
这是mapreduce的自然行为吗?为了MongoDB?对于pymongo(我正在使用)?