Я пытаюсь реализовать запрос в MongoDB, чтобы получить количество моих записей в коллекции базы данных на основе даты загрузки столбца. Это просто, как Найти максимальные идентификаторы объектов для каждой записи и затем сгруппировать их по дате
Поскольку у меня есть несколько записей для одного загружаемого файла, которые разделены ObjectID. Следовательно, мне нужно сгруппировать все строки по дате, но дублирующиеся записи должны рассматриваться только с максимальными идентификаторами.
db.fs.files.aggregate([
{
$group: {
_id: {
$add: [
{
$dayOfYear: "$uploadDate"
},
{
$multiply: [
400,
{
$year: "$uploadDate"
}
]
}
]
},
_id2: {
$max: "$_id"
},
TotalUploads: {
$sum: 1
},
f: {
$min: "$uploadDate"
}
}
},
{
$sort: {
_id: 1
}
},
{
$project: {
date: "$f",
TotalUploads: 1,
object: "$_id2",
_id: 0
}
}
])
{
"_id": ObjectId("1"),
"filename": "22152_106046_6323041591916_D_04012209.jpg",
"length": NumberLong(287171),
"chunkSize": 261120,
"uploadDate": ISODate("2019-11-26T06:05:38.269Z"),
"md5": "1223112",
"metadata": {
"_contentType": "image/jpg",
"createdOn": ISODate("2019-11-26T06:05:38.074Z"),
"createdBy": "abc",
"uploadStatus": "uploaded",
"fileName": "22152_106046_6323041591916_D_04012209.jpg",
"formType": "D",
"elementIdAccountNoUin": "22152-106046-6323041591916",
"contentType": "image/jpg",
"formDate": ISODate("2209-01-04T05:00:00Z"),
}
}
Пожалуйста, помогите!