Database

[{_id:1,name:"a",list:[{type:"x",time:ISODate("2021-01-01")},{type:"y",time:ISODate("2022-01-01")},]},{_id:2,name:"b",list:[{type:"x",time:ISODate("2021-01-01")},{type:"y",time:ISODate("2022-01-01")},{type:"y",time:ISODate("2023-01-01")},]}]

Query

db.collection.aggregate([{"$unwind":"$list"},{$match:{"list.type":"y"}},{$sort:{"list.time":-1}},{$group:{_id:"$_id",name:{"$first":"$name"},list:{$first:"$list"}}},{"$addFields":{"list":["$list"]}}])

Result