Вы можете группировать по $dayOfYear
и использовать $dateFromString
, чтобы получить дату от вашего string
, например:
db.collection.aggregate([
{
"$group": {
"_id": {
$dayOfYear: {
$dateFromString: {
dateString: "$dateAdded"
}
}
},
"data": {
"$push": "$$CURRENT"
}
}
},
{
$project: {
_id: 0
}
}
])
Результат будет выглядеть так:
[
{
"data": [
{
"_id": ObjectId("5a934e000102030405000002"),
"dateAdded": "2018-11-29 18:29:12.357",
"price": 500,
"product": "Boot"
}
]
},
{
"data": [
{
"_id": ObjectId("5a934e000102030405000000"),
"dateAdded": "2018-11-28 18:28:12.356",
"price": 100,
"product": "shovel"
},
{
"_id": ObjectId("5a934e000102030405000001"),
"dateAdded": "2018-11-28 18:28:12.357",
"price": 500,
"product": "wheel barrow"
}
]
}
]
Которые вы можете затем сгладить тривиально с помощью JS и Array.reduce
и т. Д.