db.getCollection('表名').aggregate( {"$match":{ "某时间字段": {'$gte': ISODate("2022-05-01T00:00:00Z") ,'$lt':ISODate("2022-06-01T00:00:00Z")} }}, {"$group": { "_id": { "$subtract": [ { "$subtract": [ "$某时间字段", new Date("1970-01-01") ] }, { "$mod": [ { "$subtract": [ "$某时间字段", new Date("1970-01-01") ] }, 1000 * 60 * 30 /*聚合时间段,30分钟*/ ]} ] }, "total": {'$sum': 1}, }}, {"$project": { "_id": 0, "total":1, 'datetime': {'$add': [new Date(0), '$_id']} }}, {"$sort": { 'datetime': 1 }} )