相关疑难解决方法(0)

使用 Spring Data Mongo 的 ObjectId 进行 Facet + 聚合查询问题

我正在开发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)

mongodb spring-data-mongodb spring-boot

3
推荐指数
1
解决办法
2257
查看次数

标签 统计

mongodb ×1

spring-boot ×1

spring-data-mongodb ×1