Database

[{_id:BinData(0,"3BByrilZQ2GTdlXG0nrGXw=="),owner:"user1",languages:["en","fr"],title:{en:"Potato Gratin",fr:"Gratin de pomme de terre"},}]

Query

db.collection.aggregate([{"$match":{"_id":BinData(0,"3BByrilZQ2GTdlXG0nrGXw=="),},},{"$set":{"lang":{"$cond":[{"$in":["zh","$languages"]},"zh",{"$first":"$languages"}]}}},{$addFields:{title:{"$arrayElemAt":[{"$filter":{"input":{"$objectToArray":"$title"},"as":"title","cond":{$eq:["$$title.k","$lang"]}}},0]}}},{$addFields:{title:"$title.v"}}])

Result