Database

[{transports:[{_id:"123",events:[{category:"Payment",event:"ok",date:"2023-02-21T16:32:07.740Z"},{category:"Temperatures",event:"technicalFailure",date:"2023-02-21T16:36:07.740Z"},{category:"Temperatures",event:"auto",date:"2023-02-21T16:55:07.740Z"}]}]},{transports:[{_id:"456",events:[{category:"Payment",event:"ok",date:"2023-02-21T16:28:07.740Z"},{category:"Temperatures",event:"auto",date:"2023-02-21T16:29:07.740Z"},{category:"Payment",event:"failed",date:"2023-02-21T17:01:07.740Z"}]}]},{transports:[{_id:"127",events:[{category:"Payment",event:"ok",date:"2023-02-21T16:29:07.740Z"},{category:"Temperatures",event:"auto",date:"2023-02-21T17:18:07.740Z"},{category:"Temperatures",event:"technicalFailure",date:"2023-02-21T18:53:07.740Z"}]}]}]

Query

db.collection.aggregate([{"$set":{"lastEvent":{"$map":{"input":"$transports","as":"t","in":{$last:"$$t.events"}}}}},{$match:{$expr:{"$anyElementTrue":{"$map":{"input":"$lastEvent","as":"le","in":{$and:[{$eq:["$$le.category","Temperatures"]},{$eq:["$$le.event","technicalFailure"]}]}}}}}},{$unset:"lastEvent"}])

Result