sql >> Database teknologi >  >> NoSQL >> MongoDB

Hvordan returnerer jeg et aggregat af underarrays med et filter på det øverste array?

Du kan prøve nedenstående sammenlægning:

ChoreChart.aggregate([
    { "$match": { "affiliation": affiliation, "year": week.year, "weekNumber": week.number } },
    {
        $addFields: {
            chart: {
                $filter: {
                    input: "$chart",
                    cond: { $eq: [ "$$this.ordinal", 2 ] }
                }
            }
        }
    }
])

$addFields erstatter eksisterende felt og $filter filtre indre array. Derudover siden din ordinal er et tal, du også skal angive nummer ikke streng i din forespørgsel.




  1. Brug af $slice med $regex sammen på subDocument array i mongodb

  2. Hvordan kan jeg finde et dokument, der er indlejret i MongoDB?

  3. spring-data-mongodb giver undtagelse for mongodb-godkendelse

  4. Hvordan kan jeg få værdien fra Redis og sætte den i en variabel i NGiNX?