Możesz to zrobić za pomocą .aggregate()
metoda i $redact
operator. W twoim $cond
wyrażeń, których potrzebujesz, aby użyć $setIsSubset
w celu sprawdzenia, czy wszystkie elementy w tablicy "products" znajdują się w "productIds". Dzieje się tak, ponieważ nie możesz użyć $in
w wyrażeniu warunkowym
var productIds = [139,72,73,1,6];
db.customers.aggregate([
{ "$redact": {
"$cond": [
{ "$setIsSubset": [ "$products", productIds ] },
"$$KEEP",
"$$PRUNE"
]
}}
])