Mongodb java group by 查询
2013-12-05 11:49
441 查看
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 字段;
参考数据:
// 获取集合,就是你要查询的表
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 字段;
参考数据:
相关文章推荐
- MongoDB count distinct group by JavaAPI查询
- MongoDB count distinct group by JavaAPI查询
- MongoDB group by max 分组查询组内最大的数据,并获取相应的数据
- java group 查询 MongoDB 使用keyf
- LINQ 标准的查询操作符 分组 group by into 、select new 、orderby descending、from in
- 使用mysql的disctinct group by查询不重复记录
- mongodb group 查询
- 8_查询之group by.txt
- java 中 mongodb的各种操作 模糊查询 精确查询 等等
- LinQ 标准的查询操作符 分组group by into, select new,orderby descending,from in
- java 查询 mongodb 中的objectid
- 查询语句中select from where group by having order by的执行顺序
- java操作mongodb(高级查询)
- 如何在Java中对MongoDB按日期进行查询统计
- java mongoDB 多个查询条件实现
- 在查询结果后的最后一行加上合计,不用 union all,使用GROUP BY ROLLUP grouping
- mongodb 高级查询 group count 查询
- 聚合函数查询 group by having
- java操作mongodb模糊查询
- MongoDB中的一个分组统计的查询(Group ... Distinct)