Database
[{"key":[{a:-23,b:"b"},{a:-34,b:"d"},{a:-15,b:"c"},{a:-51,b:"v"}]}]
Query
db.collection.aggregate([{$unwind:"$key"},{$sort:{"key.a":1}},{$group:{_id:"$_id",key:{$push:"$key"}}},{$addFields:{winner:{$reduce:{input:"$key",initialValue:{a:-100},in:{$cond:[{$gte:["$$this.a","$$value.a"]},"$$this","$$value"]}}}}}])