MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Mongo trouve des documents où le tableau contient x valeurs du tableau donné

Vous pouvez utiliser .aggregate pour ça. C'est probablement ce que vous cherchez :

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 } }
]);