0
選擇結果用不同的過濾器我有一個數據集看起來如何都與MongoDB的
{"BrandId":"a","SessionId":100,"Method": "POST"}
{"BrandId":"a","SessionId":200,"Method": "PUT"}
{"BrandId":"a","SessionId":200,"Method": "GET"}
{"BrandId":"b","SessionId":300,"Method": "GET"}
我想通過brandid計數不同的sessionid組和計數,其中方法是POST組由brandid。對於我所提到的例子中,預期的結果是:
{"BrandId:"a","countSession":2,"countPOST":1}
{"BrandId:"b","countSession":1,"countPOST":0}
我知道如果我想指望通過brandid不同seesionid,代碼如下:
db.collection.aggregate([
{$group: {
"_id": {
brand: "$BrandId",
session: "$SessionId"
},
count: {$sum: 1}
}},
{$group: {
_id: "$_id.brand",
countSession:{$sum:1}
}}
])
如果我們只需要計算後代碼如下:
db.collection.aggregate([
{$match: {Method:"POST"}},
{$group: {
_id: '$BrandId',
countPOST:{$sum:1}
}}
])
但我不把這兩個代碼結合在一起,並且結果與我剛纔提到的預期結果相同?任何人都可以幫忙
嗨,如果你使用我在問題中提到的相同的示例數據,你可以結果與預期結果不符。 – erkpwejropi
代碼不正確,因爲它僅使用POST過濾數據。有一些品牌沒有POST,我仍然需要數這個品牌。我需要結合不同過濾器的數據。這是我遇到問題的地方。 – erkpwejropi
@erkpwejropi在你的帖子中,你說*通過brandid統計不同的SessionId組,並計算方法是POST * – styvane