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

Filtrer array ved hjælp af $in-operatoren i $projektstadiet

Siden $in er ikke understøttet i aggregeret drift for array, alternativet ville være, at du bruger $setIsSubset . For mere information om dette kan du henvise til dette link. Den samlede forespørgsel ville nu se ud som

db.test.aggregate([
{
    $project: {
        'filtered_users': {
            $filter: {
                input: '$users',
                as: 'user',
                cond: {
                   $setIsSubset: [['x'], '$$user.accounts']           
                }
            }
        }
    }
}])

Denne forespørgsel returnerer kun elementer, der har [x] som et undersæt af arrayet i user.accounts .



  1. MongoDB-as-a-Service i Canada

  2. håndtering af navnerumsændringer under deserialisering af JSON String

  3. Hvordan genvinder man slettet plads uden `db.repairDatabase()`?

  4. Python ordbog:fjernelse af u' tegn