Database
[{"_id":1,"value":50,"created_at":1614217700},{"_id":2,"value":60,"created_at":1614219300},{"_id":3,"value":100,"created_at":1614226200},{"_id":4,"value":80,"created_at":1614227400}]
Query
db.collection.aggregate([{"$match":{"created_at":{"$gte":1614211200,"$lt":1614297599}}},{$group:{_id:{$hour:{$toDate:{$multiply:["$created_at",1000]}}},avg_value:{$avg:"$value"}}}])