我在 Mongodb 中有一个集合,如下所示:
{_id: {"thread": "abc"}, "value": 1}
{_id: {"thread": "cdf"}, "value": 1}
{_id: {"thread": "edf"}, "value": 1}
我尝试映射reduce,尝试键入值,希望输出如下:
{id_: {"value": 1}, value: 3}
地图:
function() {
var key = {value : this.value};
emit(key, 1);
};
减少:
function(key, values) {
var sum = 0;
values.forEach(function(value) {
sum += value;});
return sum;
};
编辑原始问题: Map Reduce 不起作用不再有效。这是一个连接问题,而不是 Map Reduce。感谢大家提供额外的信息。
不幸的是,这不起作用,并给出了一些输出,如下所示:
{u'_id': {u'value': None}, u'value': 1160856.0}
不能键入整数值吗?我阅读了 Mongodb 上的 map reduce 文档,但找不到与键的数据类型相关的信息。