1
我在我的mongodb中有文档,这个文档有event
字段 - 这个fild类型是date
。年,月,日,无所谓,只表示白天的时间。我希望cron脚本每天都要从mongodb中将event
(date typed)字段的文档聚集到最近的10分钟(到脚本调用日期)。如何正确实施?mongodb聚合文件的日期离日期最近的特定小时/分钟
我在我的mongodb中有文档,这个文档有event
字段 - 这个fild类型是date
。年,月,日,无所谓,只表示白天的时间。我希望cron脚本每天都要从mongodb中将event
(date typed)字段的文档聚集到最近的10分钟(到脚本调用日期)。如何正确实施?mongodb聚合文件的日期离日期最近的特定小时/分钟
db.mytable.find(
{
"event": {
$gt: new Date(new Date().getTime() - (10 * 60 * 1000))
}
})
这个查询就会发现,有一个"event"
性质与过去10分钟内的值的所有文档。不带参数的new Date()
返回表示“现在”的Date
。我们从毫秒中提取数字历元时间并减去10分钟。更具体地说,我们减去(10分钟* 60秒每分钟* 1000毫秒每秒),以便我们转换为正确的单位。然后我们使用该值构造另一个new Date(...)
,这是进入$gt
(大于)过滤条件的那个值。
您提到需要“聚合”。如果是这样,那么同样的查询也可以在你需要的任何Aggregation Pipeline内使用。