Database

[{"date":"2021-07-01T08:00.00.000Z","price":10,"_id":1},{"date":"2021-07-01T08:20.00.000Z","price":10.5,"_id":2},{"date":"2021-07-01T08:40.00.000Z","price":9.8,"_id":3},{"date":"2021-07-01T09:00.00.000Z","price":10.2,"_id":4},{"date":"2021-07-01T09:20.00.000Z","price":10.9,"_id":5},{"date":"2021-07-01T09:40.00.000Z","price":13,"_id":6},{"date":"2021-07-02T07:00.00.000Z","price":10,"_id":7},{"date":"2021-07-02T07:20.00.000Z","price":10.2,"_id":8},{"date":"2021-07-02T07:40.00.000Z","price":8,"_id":9},{"date":"2021-07-02T08:00.00.000Z","price":10.7,"_id":10},{"date":"2021-07-02T08:20.00.000Z","price":10,"_id":11},{"date":"2021-07-02T08:40.00.000Z","price":11,"_id":12},{"date":"2021-07-03T08:00.00.000Z","price":11.5,"_id":13},{"date":"2021-07-03T08:20.00.000Z","price":10.8,"_id":14}]

Query

db.collection.aggregate([{"$set":{"date":{"$dateFromString":{"dateString":"$date"}}}},{"$group":{"_id":{"year":{"$year":"$date"},"day":{"$dayOfYear":"$date"}},"day-info":{"$push":"$$ROOT"},"min-hour":{"$min":{"$hour":"$date"}}}},{"$project":{"day-info":{"$filter":{"input":"$day-info","as":"d","cond":{"$eq":[{"$hour":"$$d.date"},"$min-hour"]}}}}},{"$unwind":{"path":"$day-info"}},{"$replaceRoot":{"newRoot":"$day-info"}}])

Result