Database

[{"_id":1,"name":"city1","districts":[{"id":5,"name":"district 1","neighborhoods":[{"id":309,"name":"neighborhood 1"}]},{"id":6,"name":"district 2","neighborhoods":[{"id":52280,"name":"neighborhood 2"}]}]},{"_id":2,"name":"city2","districts":[{"id":5,"name":"district 3","neighborhoods":[{"id":309,"name":"neighborhood 3"}]},{"id":6,"name":"district 4","neighborhoods":[{"id":52280,"name":"neighborhood 4"},{"id":52287,"name":"neighborhood 5"},{"id":52288,"name":"neighborhood 5"}]}]}]

Query

db.collection.aggregate([{$match:{name:"city1"}},{$unwind:"$districts"},{$match:{"districts.name":"district 1"}},{$unwind:"$districts.neighborhoods"},{$match:{"districts.neighborhoods.name":"neighborhood 1"}},{$group:{_id:{_id:"$_id",name:"$name",district_id:"$districts.id",district_name:"$districts.name"},neighborhoods:{$push:"$districts.neighborhoods"}}},{$group:{_id:{_id:"$_id._id",name:"$_id.name"},districts:{$push:{id:"$_id.district_id",name:"$_id.district_name",neighborhoods:"$neighborhoods"}}}},{$project:{_id:"$_id._id",name:"$_id.name",districts:1}}])

Result