我将代码插入mongo:
for (var i=0; i<1000; i++) {
db.test.insert({ "name" : "user"+i, "age":i%17 , "created_at" : new Date() });
}
,地图功能是
var m = function(){ emit(this.age,this.name); }
reduce函数是
var r=function(key,values){ var ret={age:key,names:values}; return ret;}
但是,当我运行代码
db.runCommand({mapreduce:"test",map:m,reduce:r, out:"t_age_names"} )
我得到17 json,每个人都像
{“ _id”:8,“值”:{“年龄”:8,“名称”:[{“年龄”:8,“名称”: [{“ age”:8,“ names”:[“ user8”,“ user25”,“ user42”,“ user59”, “ user76”,“ user93”,“ user110”,“ user127”,“ user144”,“ user161”, “ user178”,“ user195”]},“ user212”,“ user229”,“ user246”,“ user263”, “ user280”,“ user297”,“ user314”,“ user331”,“ user348”,“ user365”, “ user382”,“ user399”]},{“年龄”:8,“名称”:[{“年龄”:8, “名称”:[“ user416”,“ user433”,“ user450”,“ user467”,“ user484”, “ user501”,“ user518”,“ user535”,“ user552”,“ user569”,“ user586”]}, “ user603”,“ user620”,“ user637”,“ user654”,“ user671”,“ user688”, “ user705”,“ user722”,“ user739”,“ user756”,“ user773”,“ user790”]}, {“ age”:8,“ names”:[“ user807”,“ user824”,“ user841”,“ user858”, “ user875”,“ user892”,“ user909”,“ user926”,“ user943”,“ user960”, “ user977”,“ user994”]}]}}
为什么嵌套?
为什么嵌套?
每个数组的长度为12,似乎是由emit
函数引起的,是吗?
答案 0 :(得分:0)