我的mongodb中有文档,这些文档有event
字段 - 这个fild类型是date
。年,月,日无关紧要,仅指白天的时间。我希望cron脚本每天都能从mongodb汇总文件和event
(日期类型)字段,最近10分钟(到脚本调用日期)。如何正确实施?
答案 0 :(得分:1)
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内使用。