Sie können dies mit .aggregate()
tun -Methode und $redact
Operator. In Ihrem $cond
Ausdrücke müssen Sie das $setIsSubset
verwenden um zu überprüfen, ob alle Elemente im Array "products" in "productIds" enthalten sind. Das liegt daran, dass Sie $in
nicht verwenden können im bedingten Ausdruck
var productIds = [139,72,73,1,6];
db.customers.aggregate([
{ "$redact": {
"$cond": [
{ "$setIsSubset": [ "$products", productIds ] },
"$$KEEP",
"$$PRUNE"
]
}}
])