$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 [計數] =>數組 ( [輸入] => 18864 [發射] => 18864 [減小] => 189 [輸出] => 1 )
[ok] => 1
) map-reduce結果是{「_id」:333,「value」:65},錯誤我認爲結果是{「_id」:333,「value」:18864} 誰能告訴我爲什麼是這樣,幫幫我!
這是因爲配料,精簡函數能夠而且將會運行多個次,每100個批次添加101個結果到下一個批次中,還需要減少你發射的東西而不是完全不同的東西 – Sammaye