Sie können dies erreichen, indem Sie die Aggregatoperation verwenden. Es gibt $Woche Aggregationsvorgang in Mongodb.
Bestimmen Sie zunächst das Startdatum mit der von Ihnen verwendeten Programmiersprache.
In der folgenden Pipeline-Operation wird die Anzahl der übereinstimmenden Dokumente pro Woche gezählt. Sie können dies für jedes Feld/jede Art von Aggregation tun, die Sie benötigen.
pipeline = [
{
$match: {
timeStamp: {$gt: ISODate(startDate)},
}
},
{
$group: {
_id: {$week: '$timeStamp'},
documentCount: {$sum: 1}
}
}
];
db.mycollection.aggregate(pipeline)
Für die beiden oben angegebenen Dokumente lautet das Ergebnis
{ "_id" : 48, "documentCount" : 2 }
Die _id
oben steht, 48. Woche, und es gibt zwei Dokumente.
Gehen Sie über den Link $week um zu wissen, wie Mongodb die Wochenzahlen zählt.