У меня есть примерно такая схема:
{
_id: <objectid>
customer: <objectid>
employee: <objectid>
date: <Month/day/year>
amount: <Number>
}
Используя angular, я пытаюсь создать страницу, которая извлекает эти данные и создает отдельные таблицы для каждого дня. Что-то вроде того, что у меня была бы вкладка для вчерашнего дня, которая открывала бы представление для таблицы, в которой перечислены все мои сотрудники и их сумма за день. Что-то вроде этого:
[{
date: 10/29/2019
dataFromThisDate: [
{
employee: <name>
sumAmount: <sum(amount for this date)>
list: [<array of all of the transaction _ids
},
{
employee: <name 2>
//etc
}]
},
{
date: 10/30/2019
dataFromThisDate: //etc
}]
В основном, насколько я понял, это просто:
MyCollection.aggregate(
[{
$group: {
_id: "$date"
}
}],function(err, result) { //blah }
)
Но я не уверен, как даже сделать вложенную группировку (сначала по дате, затем по сотруднику в эту дату). Просто подумав об этом, мне кажется, что мне придется группировать по дате, а затем передавать все данные в новый конвейер группировки?
Извините, у меня нет большего из того, что я пробовал, вся эта агрегация совершенно нова для меня, и я не могу найти хороших примеров, которые достаточно похожи на то, что я пытаюсь сделать, чтобы учиться. Я просмотрел документы API для mongodb, и я понимаю их основные примеры и играю с ними, но мне просто трудно придумать, как сделать мой более сложный пример.