Puoi farlo usando .aggregate()
metodo e il $redact
operatore. Nel tuo $cond
espressioni di cui hai bisogno per usare il $setIsSubset
per verificare se tutti gli elementi nell'array "products" sono in "productIds". Questo perché non puoi usare $in
nell'espressione condizionale
var productIds = [139,72,73,1,6];
db.customers.aggregate([
{ "$redact": {
"$cond": [
{ "$setIsSubset": [ "$products", productIds ] },
"$$KEEP",
"$$PRUNE"
]
}}
])