Mongodb java group by 查询

原创 2013年12月05日 11:49:42

mongondb java  group  总结:



// 获取集合,就是你要查询的表

        DBCollection myColl = getCollection();
        //分组
        DBObject groupFields = new BasicDBObject( "_id", "$"+groupByPro);//groupByPro为数据库中的字段,即要进行分组的依据

       //对应的个数
        groupFields.put("count", new BasicDBObject( "$sum", 1));
        DBObject group = new BasicDBObject("$group", groupFields );
        //where条件
        DBObject match = new BasicDBObject();
       //根据需要条件查询
       
            match.put("数据库中的字段", 参数);

            //for example

            match.put("CREATE_TIME", new BasicDBObject("$gte",startTime).append("$lte", endTime));   事件条件 》=startTime       <=endTime

            match.put("NAME", 参数值);



        DBObject project = new BasicDBObject("$match",match); //$match相当于where
        //排序
        DBObject sortFields = new BasicDBObject("count", -1);
        DBObject sort = new BasicDBObject("$sort", sortFields );

        AggregationOutput output = myColl.aggregate(project,group, sort);

最后返回的是{ "serverUsed" : "/ip:27088" , "result" : [ { "_id" : 0 , "count" : 53100} , { "_id" :
1 , "count" : 56} , { "_id" : 4 , "count" : 2}] , "ok" : 1.0} 

处理数据可以将其转换为JSONArray类型"result" : [ { "_id" : 0 , "count" : 53100} , { "_id" :
1 , "count" : 56} , { "_id" : 4 , "count" : 2}]

这里给出的结果只是一个事例,按照状态分组得到的是状态为0的个数为53100,为1的是56个,。。。

里面就是一个个JSONObject对象


这就相当于sql 查询的:select  字段,count(字段) from   表名  where   条件    group by 字段;


参考数据:



相关文章推荐

java:Mongodb 分组统计应用group的使用(含场景)

------------------------场景----------------- mongodb中数据集合(ABC123)包含的指标进行统计分析,指标(指标在mongodb中实际以字母、数字组...
  • MCpang
  • MCpang
  • 2012年11月30日 10:17
  • 19367

MongoDB count distinct group by JavaAPI查询

import java.net.UnknownHostException; import com.mongodb.BasicDBList; import com.mongodb.BasicDBObje...

MongoDB 聚合Group(一)

db.collection.group()使用JavaScript,它受到了一些性能上的限制。大多数情况下,$ group在Aggregation Pipeline提供了一种具有较少的限制适用的替代。...

mongodb命令行group分组和java代码中group分组

group分组统计是数据库比较常用的功能,mongodb也不例外。不过相对于普通的增删改查,group操作就略微麻烦一些,这里对group在shell中的操作、使用java原生代码操作以及集成spri...

JAVA 之mongodb 增删改查GROUP

JAVA 之mongodb 增删改查 1.    准备 (1)   了解mongodb及其常用语言 可以根据这个网站学习和了解下mongodb的日常操作语句 http://www.w3csch...

mongodb的高级操作(聚合框架)

group by 查询 不要用java驱动带的group by ,要用2.2版本后的aggregate聚合框架来搞,经过试验速度快一倍 参考 官网:http://docs.mongodb.org/ma...
  • sd0902
  • sd0902
  • 2013年11月14日 17:17
  • 10855

Java 实现MongoDB Group 操作

在Java For  MongoDB 中时通过 DBCollectino对象的group 方法来实现Group 操作。官方IPA:http://api.mongodb.org/java/2.7.3/方...

mongodb和spring集成中MongoTemplate的总结是使用方法

mongodb和spring集成中MongoTemplate的总结是使用方法
  • ruishenh
  • ruishenh
  • 2013年10月17日 19:39
  • 44847

java中使用containsKey实现的group by功能

containsKey:当且仅当此映射包含针对满足 (key==null ? k==null : key.equals(k)) 的键 k 的映射关系时,返回 true。...

MongoDB 学习笔记六 aggregate GROUP使用

语法:db.collection.aggregate([ {$match:{id:1000}}, {$limit:5}, {$group:{_id:"$version",...
  • xundh
  • xundh
  • 2015年11月11日 09:38
  • 2867
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Mongodb java group by 查询
举报原因:
原因补充:

(最多只允许输入30个字)