Группа Mongodb с более чем по разделу как sql - PullRequest
0 голосов
/ 12 июля 2020

Как я могу выполнить группировку mongodb по запросу с подобным sql по РАЗДЕЛУ?

{
    "id": "...",
    "section": "x"
    "items": [
        {
            "id": 1,
            "count": 10,
        }, {
            "id": 2,
            "count": 20,
        }
    ]
},
{
    "id": "...",
    "section": "x"
    "items": [
        {
            "id": 1,
            "count": 100,
        }, {
            "id": 2,
            "count": 200,
        }
    ]
}

Группировать по items.id, но я хочу получить счет по «разделу x», например sql по by PARTITION?

db.c.aggregate([
  { $unwind: "$Items"},
  { $group :
        {
            _id : "$Items.id",
            SumCount:    { $sum: "$Items.count" },
        }
  }
]);

Теперь результат:

1 | 110
2 | 220

Купить нужно добавить количество столбцов по разделам в sql:

COUNT(section) OVER (PARTITION BY section) AS [COUNT_Section]

Нужен результат:

1 | 110 | 2  -- two document with section:'x'
2 | 220 | 2
...