powered by simpleCommunicator - 2.0.28     © 2024 Programmizd 02
Map
Форумы / NoSQL, Big Data [игнор отключен] [закрыт для гостей] / Как сгруппировать данные и вывести для каждой группировки наличие полей? (Mongodb)
3 сообщений из 3, страница 1 из 1
Как сгруппировать данные и вывести для каждой группировки наличие полей? (Mongodb)
    #40011240
manking
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!

например есть таблица-коллекция accounts.

Код: sql
1.
2.
3.
4.
account time category
r1     2020   fact
r1     2020   plan
r3     2019   fact


Как вывести группировку account + time и для такой группировки показать какие категории там есть?

Вот запрос group в агрегации:

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
 {
    _id: {
        'account': '$account',
        'time': '$time',
    },
    
    count: { $sum: 1 },
}


База выводит документы такого формата:

Код: javascript
1.
2.
3.
4.
5.
6.
7.
{ 
    "_id" : {
        "account" : "r1", 
        "time" : "2020"
    }, 
    "count" : 2
}


Но вот как затем добавить туда уникальные категории для каждой группировки? Чтобы вывод был таким:

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
 { 
        "_id" : {
            "account" : "r1", 
            "time" : "2020"
        }, 
       "cats": ['fact','plan'],
        "count" : 2
    },
 { 
        "_id" : {
            "account" : "r3", 
            "time" : "2019"
        }, 
       "cats": ['fact'],
        "count" : 1
    },
...
Рейтинг: 0 / 0
Как сгруппировать данные и вывести для каждой группировки наличие полей? (Mongodb)
    #40011247
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
manking,

воспользоваться оператором $addToSet :
https://docs.mongodb.com/manual/reference/operator/aggregation/addToSet/
...
Рейтинг: 0 / 0
Как сгруппировать данные и вывести для каждой группировки наличие полей? (Mongodb)
    #40011702
manking
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

Спасибо! То что нужно.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / NoSQL, Big Data [игнор отключен] [закрыт для гостей] / Как сгруппировать данные и вывести для каждой группировки наличие полей? (Mongodb)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]