很多复杂的查询都是从简单的部分组合的实现,续接昨天的通过Query查询后,今天接着补充聚合管道-Aggregation 进行数据查询,处理。相比较Query查询,Aggregation 再处理数据时会方便很多,也便于优化查询语句。
首先springboot引入mongodb的配置也是从引入pom依赖->配置文件中mongodb的连接信息配置->在具体service中注入MongoTemplate 。这些上一篇文章都已经有写,不在重复。
需要注意导包是这些:org.springframework.data.mongodb.core.**;
import org.springframework.data.domain.Sort;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.aggregation.Aggregation;
import org.springframework.data.mongodb.core.aggregation.AggregationResults;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
下面直接上demo。我这都是在单元测试中写的。
1.聚合管道实现简单的条件,排序数据查询功能。
注意点:执行 顺序可以完全参考mysql的书写顺序。
mysql是先where语句,然后排序,然后limit。
mongodb一样。也是必须先是条件语句,然后limit和sort。条件语句必须放到第一位ÿ