Vous pouvez utiliser $redact au lieu de $match dans ce cas, comme ceci
db.collectionName.aggregate({
$redact:{
$cond:{
if:{$and:[{$not:"$dealerName"},{$not:"$title"},{$eq:["$listed",false]},
then: "$$PRUNE",
else: "$$DESCEND"
}
}
})
Nous avons besoin de la première condition pour ignorer les documents de niveau supérieur, de la deuxième condition pour ignorer le deuxième niveau et de la troisième pour élaguer les véhicules. Pas besoin de $dérouler dans ce cas !
Encore une chose :$redact disponible uniquement en 2.6