MongoDB中的简单MapReduce计数不工作
我试图通过使用一个简单的计数来生成一个统计模式。我得到的错误是MongoDB中的简单MapReduce计数不工作,mongodb,mapreduce,Mongodb,Mapreduce,我试图通过使用一个简单的计数来生成一个统计模式。我得到的错误是 { "errmsg" : "exception: reduce -> multiple not supported yet", "code" : 10075, "ok" : 0 } 这是我的密码 var mapFunction = function(){ emit(this.mode, 1); }; var reduceFunction = function(key, value){
{
"errmsg" : "exception: reduce -> multiple not supported yet",
"code" : 10075,
"ok" : 0
}
这是我的密码
var mapFunction = function(){
emit(this.mode, 1);
};
var reduceFunction = function(key, value){
Array.sum(value)
return value;
};
db.runCommand(
{
mapReduce : 'total_contractor_earnings_MR',
map: mapFunction,
reduce: reduceFunction,
out: { replace: 'mapReduceContractorMode', db: 'large'}
}
);
在这里,你数一笔钱,什么也不做
Array.sum(value)
return value;
你要写的东西是:
return Array.sum(value);
出现此错误是因为mongodb当前不支持从reduce函数返回数组reduce函数只是返回传递给它的
值
,该值将是要reduce的已发出结果的数组。这行不通。我建议从MongoDB手册中的一些开始,更好地了解如何编写函数。我有,显然我遗漏了一些东西。请注意,您添加了Array.sum(value),但不使用它。这是您希望从emit返回的总和。。。