Database

[{"_id":1,"names":[{"changed_at":100},{"changed_at":200},{"changed_at":300}]},{"_id":2,"names":[{"changed_at":2},{"changed_at":500},{"changed_at":7}]},{"_id":3,"names":[{"changed_at":10},{"changed_at":20},{"changed_at":30}]},{"_id":4,"names":[{"changed_at":1000},{"changed_at":2},{"changed_at":5}]}]

Query

db.collection.aggregate([{"$sort":{"names.changed_at":-1}},{"$limit":3}])

Result