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

Mongo trova documenti in cui l'array contiene x valori di un dato array

Puoi usare .aggregate per questo. Questo è probabilmente quello che stai cercando:

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