Database
db={users:[{_id:1,name:"john"},{_id:2,name:"mike"},{_id:3,name:"steve"}],organizations:[{_id:1,personal:[{group:"A",employees:[{user:1,status:"approved"},{user:2,status:"pending"}]},{group:"B",employees:[{user:3,status:"approved"}]}]}]}
Query
db.organizations.aggregate([{$lookup:{from:"users",localField:"personal.employees.user",foreignField:"_id",as:"_personal_employees_user"}},{$set:{"personal":{$map:{input:"$personal",as:"elem",in:{$mergeObjects:["$$elem",{employees:{$map:{input:"$$elem.employees",as:"elem1",in:{$mergeObjects:["$$elem1",{$arrayElemAt:["$_personal_employees_user",{$indexOfArray:["$_personal_employees_user._id","$$elem1.user"]}]}]}}}}]}}}}},{$unset:["_personal_employees_user"]}])