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"}]}

Query

db.user.aggregate([{$unwind:"$language"},{$lookup:{from:"language",localField:"language.language_id",foreignField:"_id",as:"language.name"}},{$group:{_id:"$_id",name:{$first:"$name"},language:{$push:{name:{$arrayElemAt:["$language.name.name",0]},level:"$language.level"}}}}])

Result