`
退役的龙弟弟
  • 浏览: 446251 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

mongodb的mapreduce实现分组统计数量

阅读更多
分组:test

db.runCommand(
 { mapreduce : "test",
    map : function() {
					  var nameKey = this.name;
					  kws.forEach(function(kw){
					  var key = kw.key;
						if(nameKey.indexOf(key) == 0){
							nameKey = nameKey.substring(key.length, nameKey.length); 
						}
					  });
                      var key = nameKey;
                      var value = {
                                    count: 1
                                   };

                      emit( key, value );
                  },
    reduce : function(key, values) {

					var reducedObject = {
										  name: key,
										  count:0
										};

					values.forEach( function(value) {
										  reducedObject.name = reducedObject.name;
										  reducedObject.count += value.count;
									}
								  );
					return reducedObject;
				 },
	scope:{kws:[{key:"xm: "},{key:"xm:"}]},
	out: { reduce: "test_group" },
	verbose:true
 }
);

travel_forum
分组:title

db.runCommand(
 { mapreduce : "travel_forum",
    map : function() {
                      var titleKey = this.title;
					  kws.forEach(function(kw){
						var key = kw.key;
						if(titleKey.indexOf(key) == 0){
							titleKey = titleKey.substring(key.length, titleKey.length); 
						}
					  });
                      var key = titleKey;
                      var value = 1;
                      emit( key, value );
                  },
    reduce : function(key, values) {

					var count = 0;
					values.forEach( function(value) {
										  count += value;
									}
								  );
					return count;
				 },
	scope:{kws:[{key:"回应: "},{key:"回复:"}]},
	out: { reduce: "travel_forum_group" },
	verbose:true
 }
);

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics