これは、集約操作を使用して実現できます。 $ 週 があります mongodbでの集計操作。
まず、使用するプログラミング言語を使用してstartDateを決定します。
次のパイプライン操作では、1週間に一致するドキュメントの数をカウントします。必要な任意のフィールド/タイプの集計で実行できます。
pipeline = [
{
$match: {
timeStamp: {$gt: ISODate(startDate)},
}
},
{
$group: {
_id: {$week: '$timeStamp'},
documentCount: {$sum: 1}
}
}
];
db.mycollection.aggregate(pipeline)
上記の2つのドキュメントの場合、結果は次のようになります
{ "_id" : 48, "documentCount" : 2 }
_id
上記は48週目で、2つのドキュメントがあります。
リンク$