Возможно ли использовать несколько аггрегаций в одном запросе
У меня есть метод который должен посчитать колличество договоров с определенным типом
@Override
public List<ContractCount> getAllContractGroupingByBranchName() {
Aggregation aggregation = newAggregation(
match(Criteria.where("contractInfo.contractStatus").is(ACTIVE)
.and("contractInfo.type").is(CORPORATE_CLIENT)),
group("department.branchName")
.count()
.as("contractCountCorporateClients"));
AggregationResults<ContractCount> results = mongoTemplate.aggregate(aggregation, Contract.class, ContractCount.class);
return results.getMappedResults();
}
И есть класс в который мапится результат
@Builder
@Data
@FieldDefaults(level = AccessLevel.PRIVATE)
public class ContractCount {
@Id
String branchName;
String contractCountCorporateClients;
String contractCountUtilitiesExecutors;
}
касаемо вывода для contractCountCorporateClients все отлично ,
[ContractCount(branchName=branch-name-1, contractCountCorporateClients=1, contractCountUtilitiesExecutors=null), ContractCount(branchName=branch-name-4, contractCountCorporateClients=1, contractCountUtilitiesExecutors=null), ContractCount(branchName=branch-name-3, contractCountCorporateClients=1, contractCountUtilitiesExecutors=null)]
отсюда вопрос
могу ли я за один запрос убить 2 зайцев , добавив матчер на фильтрацию элементов с другим типом в агрегацию и подсчитать колличество эллементов для contractCountUtilitiesExecutors