今天要写一个MapReduce去统计日志信息。
var map=function(){
emit(this.description,{"count":1});
}
var reduce=function(key,values){
var total=0;
for(var i=0; i < values.length; i++){
total+=values[i].count;
}
return {count:total}
}
db.runCommand({"mapreduce":"statistics_securitylog","map":map,"reduce":reduce,"out":"test.tmp"});
统计的结果
/* 0 */
{
"_id" : "用户登录",
"value" : {
"count" : 2608.0
}
}
/* 1 */
{
"_id" : "用户退出",
"value" : {
"count" : 396.0
}
}