При группировке по дате в MongoDB можно выводить полную дату с использованием оператора $dateToString. Он позволяет преобразовать значение даты в строку в заданном формате.
Для того чтобы вывести полную дату при группировке, вам необходимо включить оператор $dateToString в выражение $group. Также вы можете использовать агрегационный оператор $mergeObjects, чтобы сохранить все поля и значения в исходном документе.
Вот пример кода, который поможет вам понять, как это сделать:
db.collection.aggregate([ { $group: { _id: { year: { $year: "$dateField" }, month: { $month: "$dateField" }, day: { $dayOfMonth: "$dateField" } }, count: { $sum: 1 }, date: { $addToSet: { $dateToString: { format: "%Y-%m-%d", date: "$dateField" } } } } } ])
В этом примере мы группируем документы по полю "dateField", которое считается полем типа Date (даты). Затем используем операторы $year, $month и $dayOfMonth, чтобы получить значения года, месяца и дня соответственно.
Далее мы используем оператор $dateToString, указывая формат "%Y-%m-%d", чтобы преобразовать значение даты в строку в нужном нам формате. Результаты вычислений добавляются в массив с помощью оператора $addToSet.
В конечном итоге у нас будет группировка по полной дате, а также счетчик "count", который показывает количество документов в каждой группе.
Обновите операции $year, $month и $dayOfMonth в соответствии с вашей схемой и данными, а также измените формат строки, если хотите другой вывод даты.