У меня есть набор данных выглядитКак выбран результат с различным фильтром с 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"}
Я хотел бы рассчитывать отчетливую SESSIONID группы по brandid и сосчитать, где метод POST группы по brandid. Для примера, я упомянул, ожидаемый результат:
{"BrandId:"a","countSession":2,"countPOST":1}
{"BrandId:"b","countSession":1,"countPOST":0}
Я знаю, хочу ли я рассчитывать отчетливый seesionid по brandid, код выглядит следующим образом:
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}
}}
])
Но я не объединить эти два кода вместе, и есть результат такой же, как ожидаемый результат я только что говорил раньше? любой может помочь?
Привет, Если вы используете те же примеры данных, о которых я упоминал в вопросе, вы можете ee результат не соответствует ожидаемому результату. – erkpwejropi
Неверный код, потому что он фильтрует данные только с помощью POST. Существует какой-то Бренд с POST вообще, и мне все равно нужно считать этот бренд. Мне нужно комбинировать данные разных фильтров. И здесь я встречаю проблему. – erkpwejropi
@erkpwejropi В вашем сообщении вы сказали * подсчитать отдельную группу SessionId фирмой и подсчитать, где метод POST * – styvane