sql >> Databasteknik >  >> NoSQL >> MongoDB

Mongo hitta dokument där array innehåller x-värden av given array

Du kan använda .aggregate för detta. Det här är förmodligen vad du letar efter:

var y = ["Entity1", "Entity2", "Entity3", "Entity4"];
db.col.aggregate([
    {
        $project :
        {
            _id : 1,
            name : 1,
            entity : 1,
            x : {
                $size : {
                    $ifNull: [{$setIntersection : ["$entity", y]}, []]
                }
            }
        } 
    },
    { $match : { x : 3 } }
]);



  1. MongoDB NumberLong/$numberLong problem vid konvertering tillbaka till Java Object

  2. Hur man benchmarkar mongodb/mongoid-skript, för att jämföra två olika frågetekniker

  3. Mongodb uppdaterar ett begränsat antal dokument

  4. Hur man grupperar efter flera kolumner och flera värden i mongodb