Database

[{_id:1,name:"name 1",history:[{createdAt:"2024-01-01",state:"initialized"},{createdAt:"2024-01-15",state:"running"},{createdAt:"2024-02-02",state:"stopped"}]},{_id:2,name:"name 2",history:[{createdAt:"2024-01-01",state:"initialized"},{createdAt:"2024-01-20 01:15:66",state:"running"},{createdAt:"2024-01-21 00:55:59",/** this is the LATEST entry, and state=running --> return document*/state:"running"},{createdAt:"2024-01-21 00:55:58",state:"stopped"}]}]

Query

db.collection.aggregate([{$match:{$expr:{$eq:[{$getField:{input:{$first:{$sortArray:{input:"$history",sortBy:{createdAt:-1}}}},field:"state"}},"running"]}}}])

Result