使用MongoTemplate管理MongoDB的一些查询操作(Java)

本文介绍了如何使用MongoTemplate进行MongoDB的查询操作,包括两种方法:一是利用Aggregation进行复杂聚合查询,结合Criteria设置条件;二是使用GroupBy和Criteria进行分组统计。示例展示了如何组织查询条件、执行查询并解析结果,适用于需要聚合和分组的场景。
摘要由CSDN通过智能技术生成
说明:这里主要是分两种情况 一是采用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
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值