Spring Mongo>如何从聚合中获取列表AggregationOperations

Tai*_* Le 7 java mongodb spring-data-mongodb spring-mongodb

我有一个函数接收Aggregation aggregation一个param.

我想获得的所有AggregationOperationaggregation.有什么办法吗?

public Aggregation newCustomAggregation(Aggregation aggregation, Criteria c) {
    // How to get list operation aggregation there?
    listOperation.push(Aggregation.match(c));
    return Aggregation
            .newAggregation(listOperations);
}
Run Code Online (Sandbox Code Playgroud)

Aggregation根据我的习惯,我的目的是新的另一个MatchAggregation.

use*_*814 5

您可以通过对聚合进行子类化以访问受保护的操作字段来创建自己的自定义聚合实现。

就像是

public class CustomAggregation extends Aggregation {
      List<AggregationOperation> getAggregationOperations() {
      return operations;
   }
}

public Aggregation newCustomAggregation(Aggregation aggregation, Criteria c) {
     CustomAggregation customAggregation = (CustomAggregation) aggregation;
     List<AggregationOperation> listOperations = customAggregation.getAggregationOperations();
     listOperations.add(Aggregation.match(c));
     return Aggregation .newAggregation(listOperations);
 }
Run Code Online (Sandbox Code Playgroud)