आप .aggregate()
. का इस्तेमाल करके ऐसा कर सकते हैं विधि और $redact
ऑपरेटर। आपके $cond
. में आपको $setIsSubset
. का उपयोग करने के लिए आवश्यक भाव यह जांचने के लिए कि "उत्पाद" सरणी में सभी तत्व "उत्पाद आईडी" में हैं या नहीं। ऐसा इसलिए है क्योंकि आप $in
. का उपयोग नहीं कर सकते हैं सशर्त अभिव्यक्ति में
var productIds = [139,72,73,1,6];
db.customers.aggregate([
{ "$redact": {
"$cond": [
{ "$setIsSubset": [ "$products", productIds ] },
"$$KEEP",
"$$PRUNE"
]
}}
])