sql >> Base de Datos >  >> NoSQL >> MongoDB

Seleccionar documentos donde todos los valores en un campo de matriz existen en otra matriz

Puedes hacer esto usando .aggregate() método y el $redact operador. En tu $cond expresiones que necesita para usar el $setIsSubset para verificar si todos los elementos en la matriz "productos" están en "productIds". Esto se debe a que no puede usar $in en la expresión condicional

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