在SPRING DATA MONGODB中使用聚合统计查询
2016-12-20 15:26
676 查看
在SPRING DATA MONGODB中使用聚合统计查询
Aggregation agg = newAggregation(
project("frags","cat1","publishdate"),//挑选所需的字段
match(
Criteria.where("frags.isnew").is(Boolean.TRUE)
.and("cat1").in(importantCat1List)
),//筛选符合条件的记录
unwind("frags"),//如果有MASTER-ITEM关系的表,需同时JOIN这两张表的,展开子项LIST,且是内链接,即如果父和子的关联ID没有的就不会输出
match(Criteria.where("frags.isnew").is(Boolean.TRUE)),
group("cat1")//设置分组字段
.count().as("updateCount")//增加COUNT为分组后输出的字段
.last("publishdate").as("publishDate"),//增加publishDate为分组后输出的字段
project("publishDate","cat1","updateCount")//重新挑选字段
.and("cat1").previousOperation()//为前一操作所产生的ID FIELD建立别名
);
AggregationResults<Cat1UpdateCount> results = mongoTemplate.aggregate(agg, Video.COLLECTION_NAME, Cat1UpdateCount.class);
List<Cat1UpdateCount> cat1UpdateCountList = results.getMappedResults();
return cat1UpdateCountList;
Aggregation agg = newAggregation(
project("frags","cat1","publishdate"),//挑选所需的字段
match(
Criteria.where("frags.isnew").is(Boolean.TRUE)
.and("cat1").in(importantCat1List)
),//筛选符合条件的记录
unwind("frags"),//如果有MASTER-ITEM关系的表,需同时JOIN这两张表的,展开子项LIST,且是内链接,即如果父和子的关联ID没有的就不会输出
match(Criteria.where("frags.isnew").is(Boolean.TRUE)),
group("cat1")//设置分组字段
.count().as("updateCount")//增加COUNT为分组后输出的字段
.last("publishdate").as("publishDate"),//增加publishDate为分组后输出的字段
project("publishDate","cat1","updateCount")//重新挑选字段
.and("cat1").previousOperation()//为前一操作所产生的ID FIELD建立别名
);
AggregationResults<Cat1UpdateCount> results = mongoTemplate.aggregate(agg, Video.COLLECTION_NAME, Cat1UpdateCount.class);
List<Cat1UpdateCount> cat1UpdateCountList = results.getMappedResults();
return cat1UpdateCountList;
相关文章推荐
- 在SPRING DATA MONGODB中使用聚合统计查询
- 在SPRING DATA MONGODB中使用聚合统计查询
- 使用spring data api查询分组中的mongodb最大值
- Mongodb系列- spring-data-mongodb使用MongoTemplate实现分页查询
- spring data mongodb高级查询语句的使用(网上基本没资料)
- dubbo服务使用spring-data-mongodb进行时间查询的bug记录
- Spring Data MongoDB 使用group和unwind实现对数组数据进行简单统计
- 使用Spring Data MongoDB 做聚合操作出现的问题及解决方案
- spring-data-mongodb的同字段索引多条件查询
- Spring Data MongoDB 三:基本文档查询(Query、BasicQuery)(一)
- spring data jpa 查询时的统计
- 拥抱NoSQL--谈Spring Data MongoDB的简单使用
- Spring Data MongoDB 模糊查询
- Spring Data MongoDB 基础查询
- 拥抱NoSQL--谈Spring Data MongoDB的简单使用
- MongoDB的使用学习之(七)MongoDB的聚合查询(spring-data-mongodb两种方式)附项目源码
- Spring Data MongoDB 三:基本文档查询(Query、BasicQuery)
- Spring Data MongoDB 模糊查询
- Spring Data MongoDB 三:基本文档查询(query、BasicQuery)
- spring data jpa .基本使用,多条件复合查询,报表查询。