模板
import static org.springframework.data.mongodb.core.aggregation.Aggregation.*;
Aggregation agg = newAggregation(
pipelineOP1(),
pipelineOP2(),
pipelineOPn()
);
AggregationResults<OutputType> results = mongoTemplate.aggregate(agg, "INPUT_COLLECTION_NAME", OutputType.class);
List<OutputType> mappedResult = results.getMappedResults();
实例
List<AggregationOperation> aggs = new ArrayList<>();
aggs.add(Aggregation.match(Criteria.where("name").is("log")));
aggs.add(Aggregation.group("code").count().as("count"));
aggs.add(Aggregation.project()
.and("_id").as("code")
.and("count").as("count"));
Aggregation agg = Aggregation.newAggregation(aggs);
AggregationResults<Map> results = mongoTemplate.aggregate(agg,"yourdocument", Map.class);
doc