Toho lze dosáhnout pomocí agregační operace. Existuje $týden agregační operace v mongodb.
Nejprve určete počáteční datum pomocí jakéhokoli programovacího jazyka, který používáte.
V následující operaci potrubí, počítání počtu dokumentů odpovídajících týdnu. Můžete to udělat v jakémkoli poli/typu agregace, který potřebujete.
pipeline = [
{
$match: {
timeStamp: {$gt: ISODate(startDate)},
}
},
{
$group: {
_id: {$week: '$timeStamp'},
documentCount: {$sum: 1}
}
}
];
db.mycollection.aggregate(pipeline)
Pro výše uvedené dva dokumenty, které jste zadali, bude výsledek
{ "_id" : 48, "documentCount" : 2 }
_id
výše říká, 48. týden, a existují dva dokumenty.
Projděte si odkaz $týden abyste věděli, jak mongodb počítá čísla týdnů.