Можете да постигнете това, като използвате агрегатната операция. Има $седмица операция за агрегиране в mongodb.
Първо определете началната дата, като използвате езика за програмиране, който използвате.
При следваща конвейерна операция, преброяване на броя документи, съответстващи на седмица. Можете да го направите във всяко поле/тип агрегиране, от което се нуждаете.
pipeline = [
{
$match: {
timeStamp: {$gt: ISODate(startDate)},
}
},
{
$group: {
_id: {$week: '$timeStamp'},
documentCount: {$sum: 1}
}
}
];
db.mycollection.aggregate(pipeline)
За горните два документа, които посочихте, резултатът ще бъде
{ "_id" : 48, "documentCount" : 2 }
_id
по-горе пише 48-ма седмица и има два документа.
Преминете през връзката $седмица за да знаете как mongodb брои номерата на седмиците.