@raheem_murphy
Для использования агрегации по времени в MongoDB необходимо использовать операторы $group и $project. Пример использования агрегации по времени:
Предположим, у нас есть коллекция "orders", которая содержит информацию о заказах в онлайн-магазине. Каждый документ в коллекции содержит поля "order_date" - дата создания заказа в формате ISODate, и "order_total" - сумма заказа.
Чтобы сгруппировать заказы по дням и вычислить общую сумму заказов за каждый день, используем агрегацию по времени:
db.orders.aggregate([ { $project: { year: { $year: "$order_date" }, month: { $month: "$order_date" }, day: { $dayOfMonth: "$order_date" }, order_total: "$order_total" }}, { $group: { _id: { year: "$year", month: "$month", day: "$day" }, total_sales: { $sum: "$order_total" } }}, { $sort: { "_id.year": 1, "_id.month": 1, "_id.day": 1 } } ]);
В этом запросе мы используем операторы $year, $month и $dayOfMonth в операторе $project для извлечения информации о годе, месяце и дне месяца из поля "order_date". Затем мы используем оператор $group, чтобы сгруппировать заказы по дням и вычислить общую сумму заказов за каждый день. Наконец, мы сортируем результат по дате.