Database

db={"main":[/** 1*/{"_id":123,"name":"abc","value":132,"subCollectionDetails":{"subCollectionId":"1111-1111","subCollectionOtherValues":"Some data"}},/** 2*/{"_id":124,"name":"fff","value":132,"subCollectionDetails":{"subCollectionId":"1111-2222","subCollectionOtherValues":"Some data"}},/** 3*/{"_id":125,"name":"abc","value":132,"subCollectionDetails":{"subCollectionId":"1111-3333","subCollectionOtherValues":"Some data"}},],"sub":[/** 1*/{"_id":"1111-1111","subCollectionName":"sub1","subCollectionPresent":true},/** 2*/{"_id":"1111-2222","subCollectionName":"sub1","subCollectionPresent":true}]}

Query

db.main.aggregate([{$lookup:{from:"sub",localField:"subCollectionDetails.subCollectionId",foreignField:"_id",as:"sub_lookup"}},{$project:{_id:true,name:true,value:true,subCollectionDetails:{$mergeObjects:["$subCollectionDetails",{$arrayElemAt:["$sub_lookup",0]},]}}},{$project:{"subCollectionDetails.subCollectionId":false}}])

Result