java mongodb聚合统计查询,比较两个字段
2016-12-22 17:49
543 查看
DBObject group = (DBObject) JSON.parse("{'$group': {'_id': {'qzc':'$qzc','qzt':'$qzt'},'z': {'$sum':1}}}"); DBObject project = (DBObject) JSON.parse("{'$project': {'z':1,'difference': { '$eq': [ '$l', '$qzt' ]}}}"); DBObject match = (DBObject) JSON.parse("{'$match': {'difference':true,'l':{'$ne':0}}}"); DBObject sort = (DBObject) JSON.parse("{'$sort': {'z':-1}}"); AggregationOutput output = mongoTemplate.getCollection("events2").aggregate(group, project, match, sort);
以上代码用的是spring-data-mongo-1.4.1.RELEASE.jar,其他版本写法也差不多
下面是在mongodb控制台输入
db.events2.aggregate( [ { "$group":{ "_id":{ "qzc":"$qzc", "qzt":"$qzt" }, "z":{ "$sum":1 } } }, { "$project":{ "z":1, "difference":{ "$eq":[ "$l", "$qzt" ] } } }, { "$match":{ "difference":true, "l":{ "$ne":0 } } }, { "$sort":{ "z":-1 } } ] );
暂时就找到拼接json查询的,而data自带的Aggregation则没有找到这个需求的使用方法,希望知道的道友可以告知一下
相关文章推荐
- mongodb同一个document中两个字段比较查询
- MongoDB高级查询(二):对一个表中的2个字段中的"内嵌对象"中的字段进行比较----------- aggregate聚合查询
- Projections-Java下MongoDB查询限制返回字段
- mongodb[八]聚合查询、统计、分组、平均值、最大值、最小值
- 如何在Java中对MongoDB按日期进行查询统计
- 在SPRING DATA MONGODB中使用聚合统计查询
- Mongodb 3.2 Java 显示指定字段 条件查询 官方
- mongodb 聚合查询每天统计
- JAVA mongodb 聚合几种查询方式详解
- 在SPRING DATA MONGODB中使用聚合统计查询
- thinkphp 查询数据库数据根据两个字段group,且统计条数用法
- Mongodb 3.4 Java 显示指定字段、 条件查询 官方手册
- MongoDB高级查询:对一个表中的2个字段进行比较----------- $where操作符
- 如何在Java中对MongoDB按日期进行查询统计
- JAVA - mongodb 聚合查询方式三
- JAVA - mongodb 聚合查询方式二
- Java比较两个对象是否相同并获得不同的字段
- thinkphp where 查询比较相同一个表中两个字段值
- Mongodb 3.2 Java 显示指定字段 条件查询 分页排序
- spring data mongo比较两个字段查询