У меня есть коллекция в mongodb под названием люди.Ниже один из документов:
{
id: 102
sex: "Male"
weight: "70.4"
height: "180.3"
},
Я написал MapReduce, который вычисляет средний вес и среднюю высоту для пола
var mapFunction= function(){
var key=this.sex;
var value= {
count: 1,
height: Number(this.height),
weight: Number(this.number)
};
emit(key,value);
};
var reduceFunction= function (key, values) {
reducedVal= { count: 0, height: 0, weight: 0};
for (var i=0; i<value.length; i++) {
reducedVal.count +=value[i].count;
reducedVal.height+=value[i].height;
reducedVal.weight+=value[i].weight;
}
return reducedVal;
};
var finalizeFunction = function (key, reducedVal) {
reducedVal.avg1= reducedVal.height/reducedVal.count;
reducedVal.avg2= reducedVal.weight/reducedVal.count;
return reducedVal;
};
db.people.mapReduce( mapFunction,
reduceFunction,
{
out: "map_reduce_example" ,
finalize: finalizeFunction
}
)
Я получил ошибку, когда пытался выполнить код.Как я могу это исправить?
Error: map reduce failed:{
"ok" : 0,
"errmsg" : "ReferenceError: value is not defined :\n@:4:3\n",
"code" : 139,
"codeName" : "JSInterpreterFailure"
}