Моя агрегация получает данные документов за неделю. В этом случае я получаю данные с 18 по 24 мая:
{ "_id" : 20, "count" : 795 }
{ "_id" : 21, "count" : 221 }
Поскольку «неделя» в понедельник go начинается с воскресенья, данные с воскресенья создают новую неделю (в этом случай 21). Есть ли способ перенести данные с воскресенья на неделю до или назад?
Результат будет:
{ "_id" : 20, "count" : 1016 }
Агрегация:
[{
$match: {
start_date: {
$gte: ISODate('2020-05-18T00:00:01'),
$lte: ISODate('2020-05-24T23:59:59')
}
}
}, {
$project: {
week: {
$week: '$start_date'
},
solved: '$solved',
survey: '$survey'
}
}, {
$group: {
_id: '$week',
count: {
$sum: 1
}
}
}, {
$sort: {
_id: 1
}
}]
ОБНОВЛЕНИЕ : Пн go