Database
db={"users":[{_id:1,firstName:"A",lastName:"L",email:"al@mail.com"}],"forms":[{approvalLog:[{attachments:["a"],by:1,comment:"abc",date:new Date()}],userId:1}]}
Query
db.forms.aggregate([{$unwind:"$approvalLog"},{$lookup:{from:"users",localField:"approvalLog.by",foreignField:"_id",as:"approvalLog.user"}},{$addFields:{"approvalLog.user":{$arrayElemAt:["$approvalLog.user",0]}}},{$group:{_id:"$_id",approvalLog:{$push:"$approvalLog"},userId:{$first:"$userId"}}}])