Database

db={"collection1":[{"name":"adafd","employeeId":"employeeId","locations":["ObjectId(adfaldjf)"]}],"collection2":[{"_id":"ObjectId(adfaldjf)","location":"india","states":[{"stateCode":"TN","districts":{"cities":[{"code":1,"name":"xxx"},{"code":4,"name":"zzz"},{"code":6,"name":"yyy"}]}}]}]}

Query

db.collection1.aggregate([{$match:{name:"adafd"}},{$lookup:{from:"collection2",localField:"locations",foreignField:"_id",as:"locations"}},{$project:{locations:{$filter:{input:"$locations",cond:{$eq:["$$this.location","india"]}}}}},{$unwind:"$locations"},{$project:{locations:{_id:"$locations._id",location:"$locations.location",states:{$filter:{input:"$locations.states",cond:{$eq:["$$this.stateCode","TN"]}}}}}},{$unwind:"$locations.states"},{$project:{locations:{_id:"$locations._id",location:"$locations.location",states:{stateCode:"$locations.states.stateCode",districts:{cities:{$filter:{input:"$locations.states.districts.cities",cond:{$eq:["$$this.code",1]}}}}}}}},{$unwind:"$locations.states.districts.cities"}])

Result