マップコード:
$map = new MongoCode("function(){
emit(333,this);
}");
コードを減らす:
$reduce = new MongoCode("function(key, values) {
r=0;
for(var idx=0;idx<values.length;idx++){
r+=1;
}
return r;
}");
実行コード:
$result = $db->command(array(
"mapreduce" => "gameLog",
"map" => $map,
"reduce" => $reduce,
"out" => array("replace" => "gameLogResult")
)
);
実行コードの戻り値: Array ( [result] => gameLogResult [timeMillis] => 284 [counts] => Array ( [input] => 18864 [emit] => 18864 [reduce] => 189 [output] => 1 )
[ok] => 1
) map-reduce の結果は { "_id" : 333, "value" : 65 } です。バグの結果は { "_id" : 333, "value" : 18864 } だと思います。自分!