You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MongoDB按指定年份筛选后按月分组统计各月记录数实现问题

解决方案

完整可运行代码

// 以筛选2008年为例,可自行替换目标年份数值
database.coll.aggregate([
    // 方式1:直接匹配日期年份,写法简洁,适合临时查询
    {
        $match: {
            $expr: {
                $eq: [{$year: "$date"}, 2008]
            }
        }
    },
    // 方式2:日期范围匹配,date字段建有索引时性能更高,两种方式二选一即可
    // {
    //     $match: {
    //         "date": {
    //             $gte: ISODate("2008-01-01T00:00:00Z"),
    //             $lt: ISODate("2009-01-01T00:00:00Z")
    //         }
    //     }
    // },
    {
        $group: {
            "_id": {$month: "$date"}, // 按月份分组
            "total": {$sum: 1} // 统计每个月的记录总数
        }
    }
])

说明

  • 查询返回结果中_id字段对应1~12的月份数值,total字段对应该月的记录总数
  • 若你的数据库时区和业务时区不一致,可在$year、$month运算符中补充时区参数调整结果

内容的提问来源于stack exchange,提问作者abc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 18:54:00