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

Mongo find dokumenter, hvor array indeholder x værdier af en given array

Du kan bruge .aggregate for det. Dette er sandsynligvis, hvad du leder 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 forespørger ydeevne for over 5 millioner poster

  2. MongooseJS/MongoDB søge nøjagtig sætning

  3. Azure CosmosDB ved hjælp af Mongo-drivere:Få optælling uden at få alle dokumenter baseret på element i underunderdokument i C#.Net

  4. Spekulativ udførelse i Hadoop MapReduce