Bạn có thể đạt được điều này bằng cách sử dụng phép toán tổng hợp. Có $ tuần hoạt động tổng hợp trong mongodb.
Trước tiên, hãy xác định ngày bắt đầu bằng bất kỳ ngôn ngữ lập trình nào bạn sử dụng.
Trong hoạt động theo đường ống, đếm số lượng tài liệu phù hợp với một tuần. Bạn có thể làm điều đó trên bất kỳ trường / loại tổng hợp nào mà bạn cần.
pipeline = [
{
$match: {
timeStamp: {$gt: ISODate(startDate)},
}
},
{
$group: {
_id: {$week: '$timeStamp'},
documentCount: {$sum: 1}
}
}
];
db.mycollection.aggregate(pipeline)
Đối với hai tài liệu trên, bạn đã chỉ định kết quả sẽ là
{ "_id" : 48, "documentCount" : 2 }
_id
ở trên cho biết, tuần thứ 48 và có hai tài liệu.
Truy cập liên kết $ tuần để biết cách mongodb đếm số tuần.