Database
db={StaffOneToOne:[{userID:1,fromStaffId:"a",toStaffId:"c"},{userID:2,fromStaffId:"b",toStaffId:"a"},{userID:3,toStaffId:"c"}],pharmacists:[{_id:"a",ActivityID:12,userID:1,activityType:"hhh"},{_id:"b",ActivityID:13,userID:1,activityType:"asds"},{_id:"c",ActivityID:14,userID:2,activityType:"fgfd"}]}
Query
db.StaffOneToOne.aggregate([{$match:{$or:[{fromStaffId:"a"},{toStaffId:"a"}]}},{$set:{localField:{$cond:[{$eq:["$fromStaffId","a"]},"$toStaffId","$fromStaffId"]}}},{$lookup:{from:"pharmacists",localField:"localField",foreignField:"_id",as:"p_list"}}])