У меня есть модель событий в Mongoose как таковая:
let eventSchema = new Schema(
{
description: { type: String, required: true },
start_time: { type: Date, required: true },
end_time: { type: Date, required: true }
}
);
Я пытаюсь вернуть их сгруппированными по дням месяца, чтобы я мог проанализировать их в календаре.Я думал, что использование .aggregate([])
и $group
сделает это для меня.Я запрашиваю мою коллекцию событий следующим образом:
exports.event_get = (req, res) => {
let query = Event.aggregate([
{$group: {
_id: {
date : { $dayOfMonth: '$start_time' }
}}}
]).exec(function(err, e) {
if (err) {
res.send(err)
} else {
res.send(e)
}
})
}
Вот что я получаю:
[
{
"_id": {
"date": 5
}
},
{
"_id": {
"date": 1
}
}
]
Она успешно группируется по дате, но я хочу получить реальные объектыне только это.Разве я не должен использовать .aggregate()
для этого?Есть ли другой инструмент в Mongoose / MongoDB, который будет делать то, что я ищу?