Database
[{timestamp:0,type:"start"},{timestamp:1,type:"log"},{timestamp:2,type:"log"},{timestamp:3,type:"log"},{timestamp:4,type:"log"},{timestamp:4,type:"start"},{timestamp:5,type:"log"},{timestamp:6,type:"log"}]
Query
db.collection.aggregate([{"$setWindowFields":{"sortBy":{"timestamp":1},"output":{"grouping":{"$max":{"$cond":{"if":{"$eq":["$type","start"]},"then":"$timestamp","else":-1}},"window":{"documents":["unbounded","current"]}}}}},{"$group":{_id:"$grouping",events:{$push:{timestamp:"$timestamp",type:"$type"}}}}])