Database

[{"id":1,"score":1,created_at:ISODate("2022-11-20T00:20:00.000+00:00")},{"id":1,"score":2,created_at:ISODate("2022-11-20T00:20:01.000+00:00")},{"id":2,"score":1,created_at:ISODate("2022-11-20T00:20:00.000+00:00")},{"id":2,"score":20,created_at:ISODate("2022-11-20T00:21:00.000+00:00")},{"id":2,"score":3,created_at:ISODate("2022-11-20T00:19:00.000+00:00")},{"id":3,"score":1,created_at:ISODate("2022-11-19T00:20:00.000+00:00")},{"id":3,"score":2,created_at:ISODate("2022-11-19T00:20:01.000+00:00")},]

Query

db.collection.aggregate([{$setWindowFields:{partitionBy:"$id",sortBy:{created_at:-1},output:{data:{$push:"$$ROOT",window:{documents:["current",1]}}}}},{$group:{_id:"$id",created_at:{$first:"$created_at"},pair:{$first:"$data"}}},{$match:{$expr:{$and:[{$gte:["$created_at",{$dateAdd:{startDate:"$$NOW",unit:"day",amount:-1}}]},{$eq:[{$size:"$pair"},2]},{$lte:[{$abs:{$subtract:[{$first:"$pair.score"},{$last:"$pair.score"}]}},5]}]}}},{$project:{_id:0,pair:1}}])

Result