Você pode fazer isso usando o
.aggregate()
e o método $redact
operador. Em seu $cond
expressões você precisa usar o $setIsSubset
para verificar se todos os elementos do array "products" estão em "productIds". Isso ocorre porque você não pode usar $in
na expressão condicional var productIds = [139,72,73,1,6];
db.customers.aggregate([
{ "$redact": {
"$cond": [
{ "$setIsSubset": [ "$products", productIds ] },
"$$KEEP",
"$$PRUNE"
]
}}
])