Database

[{"key":1,"createdAt":"2020-06-23T22:47:32+00:00",},{"createdAt":"2020-06-30T16:47:32+00:00","key":2},{"createdAt":"2020-06-30T18:47:32+00:00","key":2},{"createdAt":"2020-06-30T19:47:32+00:00","key":2},{"createdAt":"2020-06-30T20:47:32+00:00","key":2},{"createdAt":"2020-06-30T13:47:32+00:00","key":2},{"createdAt":"2020-06-30T12:47:32+00:00","key":2},{"createdAt":"2020-06-30T13:47:32+00:00","key":2},{"createdAt":"2020-06-30T12:47:32+00:00","key":2},{"createdAt":"2020-06-30T11:47:32+00:00","key":2},{"createdAt":"2020-06-30T10:47:32+00:00","key":2},{"createdAt":"2020-06-30T09:47:32+00:00","key":2},{"createdAt":"2020-06-30T08:47:32+00:00","key":2},{"createdAt":"2020-06-30T07:47:32+00:00","key":2},{"createdAt":"2020-06-30T06:47:32+00:00","key":2},{"createdAt":"2020-06-30T05:47:32+00:00","key":2},{"createdAt":"2020-06-30T04:47:32+00:00","key":2},{"createdAt":"2020-06-30T03:47:32+00:00","key":2},{"createdAt":"2020-06-30T02:47:32+00:00","key":2}]

Query

db.collection.aggregate([{"$group":{"_id":{"$toDate":{"$subtract":[{"$toLong":{$toDate:"$createdAt"}},{"$mod":[{"$toLong":{$toDate:"$createdAt"}},21600000]}]}},count:{$sum:1}}},{$group:{_id:{day:{$dayOfWeek:"$_id"},hour:{$hour:"$_id"}},count:{$sum:"$count"},interval:{$first:"$_id"}}},{$group:{_id:"$_id.day",intervals:{$push:{count:"$count",interval:"$interval"}}}}])

Result