Vous pouvez enchaîner plusieurs opérations de facettes en utilisant le .and() et .as() méthodes. Vous devez remplacer la deuxième facet méthode avec le and méthode comme ci-dessous.
FacetOperation facets = facet(match(where("entryType").is(EntryType.DEBIT)
.andOperator(where("currentStatus").is(TransactionStatus.CONFIRMED))),
unwind("history"),
match(where("history.status").is(TransactionStatus.CONFIRMED)),
project().andExpression("history.amount").as("historyAmount"),
group().sum("historyAmount").as("total"),
project("total")
).as("totalConfirmedDebits"),
/*
* Summarize Confirmed Credits
*/
.and(match(where("entryType").is(EntryType.CREDIT)
.andOperator(where("currentStatus").is(TransactionStatus.CONFIRMED))),
unwind("history"),
match(where("history.status").is(TransactionStatus.CONFIRMED)),
project().andExpression("history.amount").as("historyAmount"),
group().sum("historyAmount").as("total"),
project("total")
).as("totalConfirmedCredits")