Database

db={"user":[{"_id":"1234","name":"Tony","language":[{"_id":"111","language_id":"919","level":"Expert"},{"_id":"111","language_id":"920","level":"Basic"}]}],"language":[{"_id":"919","name":"English"},{"_id":"920","name":"Chinese"}],"job":[{"_id":"10","title":"Programmer","location":"New York"}],"cvsubmit":[{"_id":"11","id_user":"1234","id_job":"11"}]}

Query

db.cvsubmit.aggregate([{$lookup:{from:"user",localField:"id_user",foreignField:"_id",as:"id_user"}},{$unwind:"$id_user"},{$lookup:{from:"language",localField:"id_user.language.language_id",foreignField:"_id",as:"languages"}},{$addFields:{languages:"$$REMOVE","id_user.language":{$map:{input:"$id_user.language",as:"l",in:{_id:"$$l._id",level:"$$l.level",name:{$reduce:{input:"$languages",initialValue:"",in:{$cond:[{$eq:["$$this._id","$$l.language_id"]},"$$this.name","$$value"]}}}}}}}}])

Result