Pomocí .and()
můžete zřetězit operace s více fasetami a .as()
metody. Měli byste nahradit druhý facet
pomocí and
metodou, jak je uvedeno níže.
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")