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([{$unwind:{path:"$personal"}},{$lookup:{from:"users",localField:"personal.employees.user",foreignField:"_id",as:"_personal_employees_user"}},{$set:{"personal.employees":{$map:{input:"$personal.employees",as:"elem",in:{$mergeObjects:["$$elem",{user:{$arrayElemAt:["$_personal_employees_user",{$indexOfArray:["$_personal_employees_user._id","$$elem.user"]}]}}]}}}}},{$group:{_id:"$_id",personal:{$push:"$personal"}}}])

Result