说明:这里主要是分两种情况 一是采用org.springframework.data.mongodb.core.aggregation.Aggregation,用于组合一个统计需要的元素+Criteria
二是采用org.springframework.data.mongodb.core.mapreduce.GroupBy+Criteria
下面说一下这两种方法操作MongoDB的用法:
1.MongoTemplate mongoTemplate;
组织查询条件:
Criteria c=Criteria.where("applNo").is("").and("levelCode").is("");
2.实例化查询model
Aggregation aggregation = Aggregation.newAggregation(Aggregation.match(c));
/* 注意这里还可以添加其他的查询条件,条件之间用","隔开*/
Aggregation.unwind("subStateList"),//需要一个文档数组,并将它们作为一个文档流返回。这里指的就是要查询的对象属性为数组类型的
group("$subStateList.polCode"),//需要根据分组的字段
Aggregation.group("$subStateList.polCode").sum("subStateList.premium").as("sumPremium")//这个就是根据上面的介绍来进行根据某个字段来进行分组然后聚合然后赋值给自定义的属性
//执行查询的操作
AggregationResults<Gr
二是采用org.springframework.data.mongodb.core.mapreduce.GroupBy+Criteria
下面说一下这两种方法操作MongoDB的用法:
1.MongoTemplate mongoTemplate;
组织查询条件:
Criteria c=Criteria.where("applNo").is("").and("levelCode").is("");
2.实例化查询model
Aggregation aggregation = Aggregation.newAggregation(Aggregation.match(c));
/* 注意这里还可以添加其他的查询条件,条件之间用","隔开*/
Aggregation.unwind("subStateList"),//需要一个文档数组,并将它们作为一个文档流返回。这里指的就是要查询的对象属性为数组类型的
group("$subStateList.polCode"),//需要根据分组的字段
Aggregation.group("$subStateList.polCode").sum("subStateList.premium").as("sumPremium")//这个就是根据上面的介绍来进行根据某个字段来进行分组然后聚合然后赋值给自定义的属性
//执行查询的操作
AggregationResults<Gr