V tomto případě můžete použít $redact místo $match, jako je tento
db.collectionName.aggregate({
$redact:{
$cond:{
if:{$and:[{$not:"$dealerName"},{$not:"$title"},{$eq:["$listed",false]},
then: "$$PRUNE",
else: "$$DESCEND"
}
}
})
Potřebujeme první podmínku k přeskočení dokumentů nejvyšší úrovně, druhou podmínku k přeskočení druhé úrovně a třetí k ořezání vozidel. Není potřeba $unwind v tomto případě!
Ještě jedna věc:$redact je k dispozici pouze ve verzi 2.6