Database
db={"child":[{"_id":ObjectId("64a67f2fdbe7c36e2e6c15c6"),"name":{"type":"permenant"},"address":"permenant address 1"},{"_id":ObjectId("64a67f2fdbe7c36e2e6c15c7"),"name":{"type":"secondary"},"address":"permenant address 2"},{"_id":ObjectId("64a67f2fdbe7c36e2e6c15c3"),"name":{"type":"other"},"address":"other address 2"}],"parent":[{"_id":ObjectId("64a67f32dbe7c36e2e6c15c8"),"name":{"user":"xyz"},"data":{"age":"55","address":[{"ref":"Addresses","id":ObjectId("64a67f2fdbe7c36e2e6c15c6")},{"ref":"Addresses","id":ObjectId("64a67f2fdbe7c36e2e6c15c7")}]}}]}
Query
db.parent.aggregate([{$unwind:"$data.address"},{$lookup:{from:"child",localField:"data.address.id",foreignField:"_id",as:"lookupAddress"}},{$group:{_id:{_id:"$_id",name:"$name",age:"$data.age"},addressInfo:{$push:"$lookupAddress"}}},{$project:{_id:"$_id._id",data:{age:"$_id.age",address:"$addressInfo"}}}])