首页 > 解决方案 > 如何在小组赛后将所有文档的字段存储在结果中?

问题描述

我有看起来像这样的文件:

{
    "_id" : ObjectId("60418f7b29789abd13367967"), 
    "id" : NumberInt(5991), 
    "parent_id" : NumberInt(0), 
    "number" : "5991",
    "total_value": 1,
    "total_items": 2
    "_created": ISODate("2021-03-05T01:55:07.077+0000")
}

我的聚合是这样的:

    {
        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"total_items": {
                u"$sum": u"$total_items"
            },
            u"total_value": {
                u"$sum": u"$total_value"
            },
            u"total_order": {
                u"$sum": 1.0
            }
        }
    }

运行查询后,输出如下所示:

{ 
    "_id" : 0.0, 
    "total_items" : NumberInt(245), 
    "total_value" : 13454.45, 
    "total_order" : 126.0
}

所以我的问题是,如何将每个文档中的所有 _created 存储在结果中?

标签: pythonmongodbmongodb-querypymongo

解决方案


推荐阅读