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([{$lookup:{from:"users",localField:"approvalLog.by",foreignField:"_id",as:"approvedBy"}},{$addFields:{approvalLog:{$map:{input:"$approvalLog",as:"a",in:{$mergeObjects:["$$a",{user:{$arrayElemAt:[{$filter:{input:"$approvedBy",cond:{$eq:["$$a.by","$$this._id"]}}},0]}}]}}},approvedBy:"$$REMOVE"}}])

Result