Данные:
[
{ created_at: "2020-05-08T18:46:08.020Z", view: true, cta: false },
{ created_at: "2020-05-08T19:00:00.020Z", view: true, cta: true },
{ created_at: "2020-05-08T19:30:45.020Z", view: true, cta: false },
{ created_at: "2020-05-08T19:55:50.020Z", view: true, cta: true }
]
Когда я группирую данные по часовому интервалу с помощью created_at, я получаю количество уникальных created_at просто отлично.
$group: {
$hour: { hour: '$created_at' },
count: { $sum: 1 }
}
Результат:
hour: 18, count: 1,
hour: 19, count: 3
Теперь, как мне также включить количество полей cta
и view
, если значение поля истинно. Я хотел бы получить такой результат:
[{ hour: 18, ctaCount: 0, viewCount: 1 }],
[{ hour: 19, ctaCount: 2, viewCount: 3 }]
Попытка группировки с несколькими операторами группы не работает должным образом.