Database
[{"_id":"18d2ec8f-ae77-4024-9872-46ff2ef828f2","slots":[{"start_time":"1900-01-01T00:00:00.000Z","end_time":"1900-01-01T01:00:00.000Z"},{"start_time":"1900-01-01T01:00:00.000Z","end_time":"1900-01-01T02:00:00.000Z"},{"start_time":"1900-01-01T02:00:00.000Z","end_time":"1900-01-01T03:00:00.000Z"},{"start_time":"1900-01-01T03:00:00.000Z","end_time":"1900-01-01T04:00:00.000Z"},{"start_time":"1900-01-01T04:00:00.000Z","end_time":"1900-01-01T05:00:00.000Z"},{"start_time":"1900-01-01T05:00:00.000Z","end_time":"1900-01-01T06:00:00.000Z"},{"start_time":"1900-01-01T06:00:00.000Z","end_time":"1900-01-01T07:00:00.000Z"},{"start_time":"1900-01-01T07:00:00.000Z","end_time":"1900-01-01T08:00:00.000Z"},{"start_time":"1900-01-01T08:00:00.000Z","end_time":"1900-01-01T09:00:00.000Z"},{"start_time":"1900-01-01T09:00:00.000Z","end_time":"1900-01-01T10:00:00.000Z"},{"start_time":"1900-01-01T10:00:00.000Z","end_time":"1900-01-01T11:00:00.000Z"},{"start_time":"1900-01-01T11:00:00.000Z","end_time":"1900-01-01T12:00:00.000Z"},{"start_time":"1900-01-01T12:00:00.000Z","end_time":"1900-01-01T13:00:00.000Z"},{"start_time":"1900-01-01T13:00:00.000Z","end_time":"1900-01-01T14:00:00.000Z"},{"start_time":"1900-01-01T14:00:00.000Z","end_time":"1900-01-01T15:00:00.000Z"},{"start_time":"1900-01-01T15:00:00.000Z","end_time":"1900-01-01T16:00:00.000Z"},{"start_time":"1900-01-01T16:00:00.000Z","end_time":"1900-01-01T17:00:00.000Z"},{"start_time":"1900-01-01T17:00:00.000Z","end_time":"1900-01-01T18:00:00.000Z"},{"start_time":"1900-01-01T18:00:00.000Z","end_time":"1900-01-01T19:00:00.000Z"},{"start_time":"1900-01-01T19:00:00.000Z","end_time":"1900-01-01T20:00:00.000Z"},{"start_time":"1900-01-01T20:00:00.000Z","end_time":"1900-01-01T21:00:00.000Z"},{"start_time":"1900-01-01T21:00:00.000Z","end_time":"1900-01-01T22:00:00.000Z"},{"start_time":"1900-01-01T22:00:00.000Z","end_time":"1900-01-01T23:00:00.000Z"},{"start_time":"1900-01-01T23:00:00.000Z","end_time":"1900-01-01T00:00:00.000Z"}]}]
Query
db.collection.aggregate([{$match:{"slots.start_time":{$lt:"1900-01-01T23:59:00.000Z"},"slots.end_time":{$gte:"1900-01-01T20:00:00.000Z"}}},{$addFields:{slots:{"$filter":{"input":"$slots","as":"s","cond":{$and:[{"$lt":["$$s.start_time","1900-01-01T23:59:00.000Z"]},{"$gte":["$$s.end_time","1900-01-01T20:00:00.000Z"]}]}}}}}])