You need to enable JavaScript to run this app. MongoDB聚合group阶段如何将所有文档的_created字段存入结果
优惠活动
大模型
产品
解决方案
定价
更多

MongoDB聚合group阶段如何将所有文档的_created字段存入结果

解决方案

你只需修改聚合管道中的$group阶段,新增字段通过MongoDB的$push累加器收集所有参与分组文档的_created字段即可,修改后的完整聚合语句如下:

[
    {
        u"$match": {
            u"store_id": ObjectId("60418f5d427fa2f62c84fa0d"),
            u"_created": {
                u"$lte": datetime.strptime("2021-12-11 16:00:00.000000", "%Y-%m-%d %H:%M:%S.%f").replace(tzinfo = FixedOffset(-480, "-0800")),
                u"$gte": datetime.strptime("2019-12-31 16:00:00.000000", "%Y-%m-%d %H:%M:%S.%f").replace(tzinfo = FixedOffset(-480, "-0800"))
            }
        }
    }, 
    {
        u"$group": {
            u"_id": 0, # 显式声明分组_id为0,避免歧义
            u"total_items": {
                u"$sum": u"$total_items"
            },
            u"total_value": {
                u"$sum": u"$total_value"
            },
            u"total_order": {
                u"$sum": 1.0
            },
            # 新增字段收集所有参与分组文档的_created值
            u"created_list": {
                u"$push": u"$_created"
            }
        }
    }
]

返回结果说明

修改后查询返回的结果会新增created_list字段,存储所有符合条件的文档的_created时间,格式示例如下:

{ 
    "_id" : 0.0, 
    "total_items" : NumberInt(245), 
    "total_value" : 13454.45, 
    "total_order" : 126.0,
    "created_list": [
        ISODate("2021-03-05T01:55:07.077+0000"),
        // 其余符合条件的_created值按匹配顺序依次排列
    ]
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 05:12:03