第一步 导入静态类
import static org.springframework.data.mongodb.core.aggregation.Aggregation.group; import static org.springframework.data.mongodb.core.aggregation.Aggregation.match; import static org.springframework.data.mongodb.core.aggregation.Aggregation.newAggregation; import static org.springframework.data.mongodb.core.aggregation.Aggregation.project; import static org.springframework.data.mongodb.core.aggregation.Aggregation.sort;
第二步
Aggregation agg = newAggregation( DeviceStatisticsInfo.class, //project("companyName","deviceModel").and("count").previousOperation(), group("companyName","deviceModel").count().as("count"), sort(Sort.Direction.DESC, "count") ); String collectionName = DeviceConstantTemplate.device_statistics_collection_name; AggregationResults<DeviceStatisticsInfo> groupResults = mongoTemplate.aggregate(agg,collectionName,DeviceStatisticsInfo.class); List<DeviceStatisticsInfo> result = groupResults.getMappedResults();