In questo caso potresti usare $redact invece di $match, come questo
db.collectionName.aggregate({
$redact:{
$cond:{
if:{$and:[{$not:"$dealerName"},{$not:"$title"},{$eq:["$listed",false]},
then: "$$PRUNE",
else: "$$DESCEND"
}
}
})
Abbiamo bisogno della prima condizione per saltare i documenti di primo livello, la seconda condizione per saltare il secondo livello e la terza per potare i veicoli. Non è necessario $rilassarsi in questo caso!
Un'altra cosa:$redact disponibile solo in 2.6