| 格式化 | { $dateToString: { format: "%Y-%m-%d", date: "$ts", timezone: "+08:00" } } |
|---|---|
| 截断 | { $dateTrunc: { date: "$ts", unit: "hour" } } |
| 求差 | { $dateDiff: { startDate: "$a", endDate: "$b", unit: "second" } } |
按天统计
按天统计
db.orders.aggregate([
{ $group: {
_id: { $dateToString: { format: "%Y-%m-%d", date: "$ts", timezone: "+08:00" } },
total: { $sum: "$qty" }
} },
{ $sort: { _id: 1 } }
])timezone 支持时区名或偏移量;不写时按 UTC 输出,跨天统计时会偏移。