Database
db={"workoutDetailSchema":[{"_id":"any_id","groups":[{"group_id":"group_id_1","departments":[{"department_id":"id_1"},{"department_id":"id_2"}]}]}],"departments":[{"_id":"id_1","name":"name 1"},{"_id":"id_2","name":"name 2"},{"_id":"id_3","name":"name 3"}],}
Query
db.workoutDetailSchema.aggregate([{$lookup:{from:"departments",localField:"groups.departments.department_id",foreignField:"_id",as:"result"}},{"$project":{"groups":{$map:{input:"$groups",as:"group",in:{$mergeObjects:["$$group",{"departments":{$map:{input:"$$group.departments",as:"dept",in:{$mergeObjects:["$$dept",{$first:{$filter:{input:"$result",cond:{$eq:["$$dept.department_id","$$this._id"]}}}}]}}}}]}}},}},{$project:{"groups.departments._id":0}}])