Du kan opnå dette ved at bruge den samlede operation. Der er $uge aggregeringsoperation i mongodb.
Bestem først startdatoen ved hjælp af det programmeringssprog, du bruger.
I den efterfølgende pipeline-operation tælles antallet af dokumenter, der matcher en uge. Du kan gøre det på ethvert felt/type aggregering, du har brug for.
pipeline = [
{
$match: {
timeStamp: {$gt: ISODate(startDate)},
}
},
{
$group: {
_id: {$week: '$timeStamp'},
documentCount: {$sum: 1}
}
}
];
db.mycollection.aggregate(pipeline)
For de to ovenstående dokumenter, du har angivet, vil resultatet være
{ "_id" : 48, "documentCount" : 2 }
_id
ovenfor siger, 48. uge, og der er to dokumenter.
Gå gennem linket $uge at vide, hvordan mongodb tæller ugenumrene.