我正在开发Spring Boot + Spring Data Mongo。我真的很努力
public Page<EmployeeOut> getData(Pageable pageable) {
.......
.......
MatchOperation matchStage = Aggregation.match(criteria);
GroupOperation groupOp = Aggregation
.group("firstName", "lastName", "email", "status", "id")
.addToSet("department").as("department").addToSet("address").as("address");
ProjectionOperation projectStage = Aggregation.project("firstName", "lastName", "email", "status", "department", "address", "id");
SkipOperation skipOp = Aggregation.skip((long) pageRequest.getPageNumber() * pageRequest.getPageSize());
LimitOperation limitOp = Aggregation.limit(pageRequest.getPageSize());
SortOperation sortOperation = ReferenceUtil.getSortOperation(pageRequest);
FacetOperation facetOp1 = Aggregation.facet(unwind, matchStage, projectStage, groupOp).as("facet1")
.and(unwind, matchStage, projectStage, groupOp, sortOperation, skipOp, limitOp).as("facet2");
Aggregation aggregation = Aggregation.newAggregation(facetOp1);
AggregationResults<EmployeeOutFacet> EmployeeOutList = mongoTemplate.aggregate(aggregation, Employee.class, EmployeeOutFacet.class);;
.....
return …Run Code Online (Sandbox Code Playgroud)