Database

[{"data":{"Inside_data":{"project":{"abc":{"alpha":4,"beta":45},"xyz":{"alpha":214,"beta":431}}}}},{"Deal":{"name":"abc","url":"www.abc.com","email":["abc@gmail.com"],"total":2}},{"Deal":{"name":"xyz","url":"www.googl.com","email":["xyz@gmail.com"],"total":25}}]

Query

db.collection.aggregate([{$match:{Deal:{$exists:true}}},{$lookup:{from:"collection",let:{name:"$Deal.name"},pipeline:[{$match:{data:{$exists:true}}},{$project:{data:{$reduce:{input:{$objectToArray:"$data.Inside_data.project"},initialValue:{},in:{$cond:[{$eq:["$$this.k","$$name"]},"$$this.v","$$value"]}}}}},{$project:{_id:0,alpha:"$data.alpha",beta:"$data.beta"}}],as:"Deal.data"}},{$unwind:"$Deal.data"}])

Result