Как вывести количество записей в день в MongoDB?
Хочу сделать статистику регистрации юзеров в виде подобного графика:

Каким образом мне получить количество записей за каждый день на протяжении месяца?
Что-то вроде:
2019-03-22 - 1
2019-03-23 - 10
...
Данные в таком виде:
{
"name" : "Alexander",
"createdAt" : ISODate("2019-03-22T11:04:19.709Z"),
"updatedAt" : ISODate("2019-04-29T10:22:51.953Z")
}
Ответы (1 шт):
Автор решения: HTMLProgrammer
→ Ссылка
Я написал это в mongo shell, в код на mongoose, думаю, сами сможете перевести
map = function(){
emit(
Date.UTC(
this.createdAt.getFullYear(),
this.createdAt.getMonth(),
this.createdAt.getDate()
), this.name)};
const reduce = function(key, value){return value.length};
db.users.mapReduce(map, reduce, { out: {inline: 1} });
либо через aggregate
db.users.aggregate([{$group: {_id: { $dateToString: { format: "%Y-%m-%d", date: "$createdAt" } }, users: {$push: "$name"}}}, {$project: {usersCount: {$size: "$users"}}}])