Mongodb java group by 查询

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 字段;


参考数据:



  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值