results = new RestRequest().JsonSerializer.Serialize(answer.Results)
如何按周在mongodb中按文档分组。我需要按最近7周的时间分组文档,并且星期分组应该基于" timeStamp"文档中的字段。
答案 0 :(得分:8)
您可以使用聚合操作来实现此目的。 mongodb中有$ week聚合操作。
首先使用您使用的任何编程语言确定startDate。
在以下管道操作中,计算与一周匹配的文档数。您可以在所需的任何字段/类型的聚合上执行此操作。
pipeline = [
{
$match: {
timeStamp: {$gt: ISODate(startDate)},
}
},
{
$group: {
_id: {$week: '$timeStamp'},
documentCount: {$sum: 1}
}
}
];
db.mycollection.aggregate(pipeline)
对于您指定的上述两个文件,结果将是
{ "_id" : 48, "documentCount" : 2 }
上面的_id
说,第48周,有两份文件。
浏览链接$ week,了解mongodb如何计算周数。