sql >> Databáze >  >> NoSQL >> MongoDB

Použití více aspektů v MongoDB Spring Data

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")



  1. Aktualizace Redis seřazená sada po vypršení platnosti klíče

  2. Redis:Jak získat přístup k souboru protokolu Redis

  3. Proč dochází k narušení přístupu při připojování k MongoDB z C++?

  4. mongoose rozdíl findOneAndUpdate a update