MongoDBMapReduce实战<6)

2015-07-24 10:23:19 ? 作者: ? 浏览: 2
好,继续完成第二个需求,求某天内记录的个数统计,直接运行《实战4》编写好的MapReduce,出现异常 又是非数字NaN,通过分析结果,找到原因,原因出现在第一个MapReduce,证据: \
上图中可以看到,times下出现了嵌套,这就导致在运算过程中,出现了异常
通过这个问题,应该可以确定,在Reduce的过程中,MongoDB是通过并发处理的,所以需要修改第一个MapReduce中的Reduce,增加对嵌套的判断
function Reduce(key, values) {
	var ret={rfid:key};
	var times = new Array();
	for(var i = 0;i < values.length;i++){
		if(values[i].times){
			times = times.concat(values[i].times);
		}else{
			times.push(values[i]);
		}
	}
	ret.times = times;
	return ret;
}
重新运行第一个MapReduce,随后再运行第二个需求的MapReduce,没做任何修改,得出结果 \
从结果可知,1天内的记录为41次,2天内为42次......
-->

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: