MongoDB提供聚合管道技术进行处理输入的数据,数据经过一个一个的stage,每个stage将数据处理后的结果传递给下一个stage,最终得到多重处理后的结果。
Aggregate提供了多种stage可供选择,match、match、sort、limit、limit、limit等。对于嵌套数据的处理可以在Aggregate中实现,减少在代码上的编写
上篇文章介绍了Mongodb按照时间天进行分组,但是返回的数据是统计的效果,不能得到自己想要的数据。
今天来介绍一下如何对天进行分组后,还能获取到自己想要显示的数据并进行分页。
根据业务的需求,对会员ID进行分组,并获取会员的手机,地址等等
// 查询条件
Criteria criteria = Criteria.where("字段").is(传参);
List<Order> sortOrders = new ArrayList<Order>();
sortOrders.add(new Order(Direction.DESC, "count"));// 降序
MatchOperation matchOper = Aggregation.match(criteria);// 查询条件
// 聚合统计,按照memberId字段聚合,count计数显示数据
// group("memberId","browseTime")按会员和浏览时间排序
//自己想得到显示的数据
AggregationOperation aggOper = Aggregation.group("memberId").count().as("count")
.first(