Du kan göra detta med .aggregate()
metoden och $redact
operatör. I din $cond
uttryck du behöver för att använda $setIsSubset
för att kontrollera om alla element i "products"-arrayen finns i "productIds". Detta beror på att du inte kan använda $in
i det villkorliga uttrycket
var productIds = [139,72,73,1,6];
db.customers.aggregate([
{ "$redact": {
"$cond": [
{ "$setIsSubset": [ "$products", productIds ] },
"$$KEEP",
"$$PRUNE"
]
}}
])