$gorup hakkında

12 views
Skip to first unread message

Bilal Atmaca

unread,
Apr 28, 2018, 12:16:45 PM4/28/18
to MongoDBTR
Merhabalar,

Uzun süre sql kullanmış biri olarak mongodb de zorlanmaktayım. 

Aşağıdaki sorguyu çalıştırdığımda alttaki sonucu alıyorum. Kırmızı renkli bölümü nasıl gruplandırırım. detail aynı detail altındaki Number farklı.

db.getCollection('TestEmbedded').aggregate([

{ $unwind : "$instock" },
{ $unwind :"$instock.detail"},
{ $unwind :"$instock.detail.Number"},
{ $match : {"instock.detail.Number.season":"2018-2019"}},
{ $group : { 
     _id : "$_id",
     item: {$first : "$item"},
     instock:{$addToSet:"$instock"}
     }
}
])

/* 1 */
{
    "_id" : ObjectId("5ae36897518f0371c0eacb98"),
    "item" : "postcard",
    "instock" : [ 
        {
            "warehouse" : "C",
            "qty" : 35.0,
            "detail" : {
                "Variant" : "Muş",
                "Number" : {
                    "enumber" : "E16",
                    "season" : "2018-2019"
                }
            }
        }
    ]
}

/* 2 */
{
    "_id" : ObjectId("5ae36897518f0371c0eacb96"),
    "item" : "paper",
    "instock" : [ 
        {
            "warehouse" : "B",
            "qty" : 15.0,
            "detail" : {
                "Variant" : "Acı Çarliston",
                "Number" : {
                    "enumber" : "E12",
                    "season" : "2018-2019"
                }
            }
        }
    ]
}

/* 3 */
{
    "_id" : ObjectId("5ae36897518f0371c0eacb97"),
    "item" : "planner",
    "instock" : [ 
        {
            "warehouse" : "B",
            "qty" : 5.0,
            "detail" : {
                "Variant" : "AHK",
                "Number" : {
                    "enumber" : "E13",
                    "season" : "2018-2019"
                }
            }
        }
    ]
}

/* 4 */
{
    "_id" : ObjectId("5ae3681962b244ff9756ddf3"),
    "item" : "journal",
    "instock" : [ 
        {
            "warehouse" : "C",
            "qty" : 15,
            "detail" : {
                "Variant" : "Famela",
                "Number" : {
                    "enumber" : "E30",
                    "season" : "2018-2019"
                }
            }
        }, 
        {
            "warehouse" : "A",
            "qty" : 5,
            "detail" : {
                "Variant" : "Chip",
                "Number" : {
                    "enumber" : "E29-3",
                    "season" : "2018-2019"
                }
            }
        }, 
        {
            "warehouse" : "A",
            "qty" : 5,
            "detail" : {
                "Variant" : "Chip",
                "Number" : {
                    "enumber" : "E29-2",
                    "season" : "2018-2019"
                }
            }
        }
    ]
}


Reply all
Reply to author
Forward
0 new messages