Database

[{"rates":[{"name":"x","rate":5},{"name":"y","rate":4}]},{"rates":[{"name":"x","rate":3},{"name":"y","rate":6}]}]

Query

db.collection.aggregate([{"$addFields":{"x_rate":{"$reduce":{"input":"$rates","initialValue":null,"in":{$cond:[{$eq:["$$this.name","x"]},"$$this.rate","$$value"]}}},"y_rate":{"$reduce":{"input":"$rates","initialValue":null,"in":{$cond:[{$eq:["$$this.name","y"]},"$$this.rate","$$value"]}}}}},{$match:{$expr:{$gt:["$x_rate","$y_rate"]}}},{"$project":{x_rate:false,y_rate:false}}])

Result