Database

db={"jewels":[{"_id":"5f2bf26783f65d33026ea593","netweight":8.52,"purity":19,},{"_id":"5f2bf26783f65d33026ea594","netweight":5.2,"purity":40,},{"_id":"5f2bf26783f65d33026ea595","netweight":4.52,"purity":39,}],"loanRequests":[{"_id":"5f2bf26783f65d33026ea592","name":"John Doe","branch":{name:"New York"},"loans":[{"loanid":43809,"loanamount":761256,"jewels":["5f2bf26783f65d33026ea593","5f2bf26783f65d33026ea594","5f2bf26783f65d33026ea595"],},{"loanid":65803,"loanamount":945256,"jewels":["5f2bf26783f65d33026ea593",],}]}]}

Query

db.loanRequests.aggregate([{$project:{name:1,loans:1,branch:"$branch.name"}},{$unwind:"$loans"},{$lookup:{localField:"loans.jewels",foreignField:"_id",from:"jewels",as:"loans.jewels"}},{$group:{_id:"$_id",name:{$first:"$name"},branch:{$first:"$branch"},loans:{$push:"$loans"}}}])

Result