sql >> Databasteknik >  >> NoSQL >> MongoDB

Välj dokument där alla värden i ett matrisfält finns i en annan matris

Du kan göra detta med .aggregate() metoden och $redact operatör. I din $cond uttryck du behöver för att använda $setIsSubset för att kontrollera om alla element i "products"-arrayen finns i "productIds". Detta beror på att du inte kan använda $in i det villkorliga uttrycket

var productIds = [139,72,73,1,6];
db.customers.aggregate([ 
    { "$redact": { 
        "$cond": [ 
            { "$setIsSubset": [ "$products", productIds ] },
            "$$KEEP",
            "$$PRUNE" 
        ] 
    }} 
])



  1. MongoDB - Importera data

  2. lagra data i redis genom cron jobb

  3. Redis, Node.js och Socket.io:Korsserverautentisering och förståelse för node.js

  4. Mongodb-fråga baserad på objekt vid specifik position i arrayen