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=="),},},{"$limit":1},{"$set":{"lang":{"$cond":[{"$in":["zh","$languages"]},"zh",{"$first":"$languages"}]}}},{"$set":{"title":"$title.$lang",}}])

Result