mongo中的聚合

时间:2016-12-28 10:46:46

标签: mongodb mongodb-query aggregation-framework

以下是我的数据库中的文件:

{ 
    "_id" : ObjectId("58635ac32c9592064471cf5b"), 
    "agency_code" : "v5global", 
    "client_code" : "whirlpool", 
    "project_code" : "whirlpool", 
    "date" : {
        "datetime" : 1464739200000.0, 
        "date" : 1464739200000.0, 
        "datejs" : ISODate("2016-06-01T00:00:00.000+0000"), 
        "datetimejs" : ISODate("2016-06-01T00:00:00.000+0000"), 
        "month" : NumberInt(5), 
        "year" : NumberInt(2016), 
        "day" : NumberInt(1)
    }, 
    "user" : {
        "promoter_id" : NumberInt(19), 
        "promoter_name" : "Hira Singh Pawar", 
        "empcode" : "519230"
    }, 
    "counter" : {
        "store_id" : NumberInt(4), 
        "store_name" : "Maya Sales ", 
        "chain_type" : "BS", 
        "address" : "6  Filamingo Market , Hissar", 
        "city" : "Hissar", 
        "state" : "Faridabad", 
        "region" : "North", 
        "sap_code" : "N_Far_91103948_1", 
        "unique_tp_code" : "91103948", 
        "location" : "6"
    }, 
    "insertedon" : {
        "date" : 1464739200000.0, 
        "datejs" : ISODate("2016-06-01T00:00:00.000+0000"), 
        "datetimejs" : ISODate("2016-06-01T00:00:00.000+0000")
    }, 
    "insertedby" : "akshay", 
    "manager" : {
        "manager_id" : NumberInt(5943), 
        "manager_name" : "Sonu Singh"
    }, 
    "type" : "display", 
    "data" : {
        "brand" : "whirlpool", 
        "sku" : "60", 
        "model_name" : "Icemagic Fresh", 
        "sub_cat_name" : "DC", 
        "cat_name" : "Refrigerator", 
        "value" : NumberInt(1)
    }, 
    "IsDeleted" : false
}

我想应用聚合,我必须将其与citystateregion分组,如果该计数器已售出冰箱,我需要在结果中提供详细信息,例如已售出2台漩涡公司的冰箱,然后我希望这能反映在我的结果中。

柜台还可以出售洗衣机等其他东西。所以,如果他们卖了2台洗衣机,我想要{ washingMachine: 2 }的结果。

我已经尝试了一切,似乎没有任何工作在这里:

db.display_mop.aggregate( // Pipeline [ 
    // Stage 1 
    { $match: { "project_code":"whirlpool" } }, 

    // Stage 2 
    { 
        $group: { 
            _id: { 
                "userid": "$user.promoter_id", 
                "userName": "$user.promoter_name", 
                "usercode": "$user.empcode", 
                "storename": "$counter.store_name",
                "address": "$counter.address", 
                "city": "$counter.city", 
                "state": "$counter.state", 
                "region": "$counter.region" 
            } 
        } 
    }, 
], 
// Options 
{ allowDiskUse: true }

0 个答案:

没有答案
相关问题