[MongoDB] 按时间分组统计(任意时间段)

时间:2025-02-16 14:43:16
('test-fa-test-07132-PK').aggregate( {"$match":{ "stattime": {'$gte': ISODate("2018-03-11T00:00:00Z") ,'$lt':ISODate("2018-03-12T00:00:00Z")} }}, {"$group": { "_id": { "$subtract": [ { "$subtract": [ "$stattime", new Date("1970-01-01") ] }, { "$mod": [ { "$subtract": [ "$stattime", new Date("1970-01-01") ] }, 1000 * 60 * 30 /*聚合时间段,30分钟*/ ]} ] }, "repstime": {'$avg': '$repstime'}, "total": {'$sum': '$total'}, //"timelist": { '$push': '$stattime'} /*查看聚合那些时间*/ }}, {"$project": { "_id": 0, "repstime": 1, "total":1, "timelist": 1, 'datetime': {'$add': [new Date(0), '$_id']} }}, {"$sort": { 'datetime': 1 }} )