`
退役的龙弟弟
  • 浏览: 453705 次
  • 性别: 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
 }
);

 

分享到:
评论

相关推荐

    浅析mongodb中group分组

    MongoDB的`group`命令是数据聚合的一种方式,主要用于对数据进行分组并进行统计分析。在MongoDB中,当你需要根据某个字段的值来汇总数据时,`group`命令非常有用。以下是对MongoDB中`group`分组功能的详细解析: 1....

    MongoDB学习笔记之MapReduce使用示例

    执行结果展示了MapReduce操作的统计信息,包括输入文档的数量(input)、emit函数被调用的次数(emit)、reduce函数被调用的次数(reduce)以及最终返回文档的数量(output)。 通过这个示例,我们可以看到MongoDB...

    mogodb mapreduce方法

    MongoDB的MapReduce是一种强大的数据分析工具,用于处理和聚合大量数据。...在这个例子中,我们实现了按年龄分组并计算用户数量的功能,但实际的MapReduce操作可以实现更复杂的统计和分析,如聚类、分类、排序等。

    MongoDB简单聚合函数.pdf

    MongoDB 是一个流行的开源、基于文档的...例如,你可以用它们来计算平均值、中位数,进行分组统计,或者找出数据集中的模式和趋势。通过灵活运用MongoDB的聚合功能,开发者能够高效地处理和洞察存储在数据库中的信息。

    MongoDB 聚合管道(Aggregation Pipeline)

    比如,$group阶段可以按照某个字段来对文档进行分组并计算每个组的统计信息,而$project阶段可以用来转换文档结构,包括添加新字段、修改现有字段等。 MongoDB的聚合操作可以使用命令行、驱动程序或MongoDB Shell中...

    第二课:MongoDB企业级应用操作1

    - `$group` 用于按指定字段分组数据,并可以执行统计操作如 `$sum`(求和)、`$avg`(求平均)、`$max`(求最大值)、`$min`(求最小值),以及数组操作如 `$push` 和 `$addToSet`。 - `$limit` 限制返回的文档数量...

    MongoDB语法参考手册.zip

    提供了MapReduce功能,用于实现复杂的数据分析和处理,通过map函数和reduce函数实现数据的分组和计算。 8. 分片和复制集: - 分片:将数据分布在多个服务器上,提高可伸缩性和性能。 - 复制集:提供冗余和故障...

    mongodb_qrc_commands.pdf

    16. **`mapReduce`**:运行MapReduce作业,是大数据处理和复杂数据转换的核心功能。 17. **`profile`**:设置数据库的性能剖析级别,对于识别和优化性能瓶颈至关重要。 18. **`reIndex`**:重新建立集合的索引,可...

    Mongodb聚合函数count、distinct、group如何实现数据聚合操作

    它们各自适用于不同的数据处理需求,从简单的计数到复杂的分组统计,为开发者提供了强大而灵活的数据分析能力。在实际项目中,了解并熟练运用这些聚合函数,可以极大地提高数据处理的效率和准确性。当然,为了深入...

    mongodb聚合_动力节点Java学院整理

    `count`方法用于统计集合中的文档数量,非常直观且易于使用。例如,要计算`person`集合中所有文档的数量,可以使用以下命令: ```javascript db.person.count() ``` #### (2) `distinct` `distinct`方法用于找出...

Global site tag (gtag.js) - Google Analytics