Итак, я новичок в mongodb и mapreduce в целом и наткнулся на эту "причуду" (или, по крайней мере, на мой взгляд, причуда)
Скажем, у меня есть объекты в моей коллекции, например:
{'key':5, 'value':5}
{'key':5, 'value ':4}
{'ключ':5, 'значение':1}
{'ключ':4, 'значение':6}
{'ключ':4, 'значение': 4}
{'key':3, 'value':0}
Моя функция mapпросто выдает ключ и значение
Моя функция reduceпросто добавляет значения ANDперед их возвратом добавляет 1 (я сделал это, чтобы проверить, вызывается ли вообще функция сокращения)
Мои результаты следующие:
{'_id': 3, 'значение': 0}
{'_id':4, 'значение': 11.0}
{'_id':5, 'значение': 11.0}
Как видите, для ключи 4 и 5 я получаю ожидаемый ответ 11, НО для ключа 3 (только с одной записью в коллекции с этим ключом) я получаю неожиданный 0!
Является ли это естественным поведением mapreduce в целом? Для МонгоДБ? Для pymongo (который я использую)?