आप इस मामले में $match के बजाय $redact का उपयोग कर सकते हैं, इस तरह
db.collectionName.aggregate({
$redact:{
$cond:{
if:{$and:[{$not:"$dealerName"},{$not:"$title"},{$eq:["$listed",false]},
then: "$$PRUNE",
else: "$$DESCEND"
}
}
})
हमें शीर्ष स्तर के दस्तावेजों को छोड़ने के लिए पहली शर्त, दूसरे स्तर को छोड़ने के लिए दूसरी शर्त और वाहनों की छंटाई करने के लिए तीसरी शर्त की आवश्यकता है। किसी $अनविंड की आवश्यकता नहीं है इस मामले में!
एक और बात:$redact केवल 2.6 में उपलब्ध है