MongoDB - 根据过去30天收集记录数

时间:2016-07-24 15:50:50

标签: mongodb match

您好我正在尝试获取最近30天记录的汇总计数。

要实现此目的,我在 Mongo 汇总管道中使用以下$match条件

$match
{
"stageStartDate":{$gt: [new Date(ISODate().getTime() - 1000*60*60*24*30)]}
}
  

执行时出错:ISODate()

中的日期格式无效

请帮我解决这个问题。我无法使用Javascript,因为我在Jaspersoft报告中直接调用此查询。

1 个答案:

答案 0 :(得分:2)

这应该可行,只需从毫秒差异

创建一个新的日期对象
db.collection.aggregate([{$match: {stageStartDate: {$gt: new Date(new Date(ISODate().getTime() - 1000*60*60*24*30))}}}]);