Database

[{_id:"xxxxxx",names:[{"lang":"EN",value:"foo"},{"lang":"IT",value:"bar"},{"lang":"NOLANG",value:"baz"}],some:"value"},{_id:"yyyyyy",names:[{"lang":"FR",value:"quux"},{"lang":"IT",value:"quuux"},{"lang":"NOLANG",value:"quuuux"}],some:"value"}]

Query

db.collection.aggregate([{"$project":{"some":1,"name":{"$arrayElemAt":["$names.value",{"$cond":[{"$ne":[{"$indexOfArray":["$names.lang","EN"]},-1]},{"$indexOfArray":["$names.lang","EN"]},{"$indexOfArray":["$names.lang","NOLANG"]}]}]}}}])

Result