mapreduceを使用してグループ集計を実行したいと思います。ここで は私のマップ機能である:ここでMongoDB MapReduce関数がreduceからの変数を使用しない場合の奇妙な値
function() {
emit(this.TransactionType, { Count: 1 });
}
は、2つの機能を減らすことである。
function(key, values) {
var result = {Count: 0};
values.forEach(function(value) {
result.Count += 1;
});
return result;
}
function(key, values) {
var result = {Count: 0};
values.forEach(function(value) {
result.Count += value.Count;
});
return result;
}
、ここで二つの結果されています
"_id" : "A", "value" : { "Count" : 13.0 }
"_id" : "B", "value" : { "Count" : 2.0 }
"_id" : "C", "value" : { "Count" : 1.0 }
"_id" : "D", "value" : { "Count" : 209.0 }
"_id" : "E", "value" : { "Count" : 66.0 }
"_id" : "F", "value" : { "Count" : 11.0 }
"_id" : "G", "value" : { "Count" : 17.0 }
"_id" : "H", "value" : { "Count" : 17.0 }
"_id" : "A", "value" : { "Count" : 128.0 }
"_id" : "B", "value" : { "Count" : 115.0 }
"_id" : "C", "value" : { "Count" : 1.0 }
"_id" : "D", "value" : { "Count" : 3645.0 }
"_id" : "E", "value" : { "Count" : 1405.0 }
"_id" : "F", "value" : { "Count" : 256.0 }
"_id" : "G", "value" : { "Count" : 380.0 }
"_id" : "H", "value" : { "Count" : 398.0 }
は、なぜ2つの結果が異なっていますか?
非常
ありがとう
ありがとうございました。私はhttp://www.mongodb.org/display/DOCS/MapReduce#MapReduce- ReduceFunctionを慎重に読んでいない – user418727