MongoDB查询多个时间间隔内的值

时间:2017-10-19 02:25:06

标签: node.js mongodb mongojs

相当新的MongoDB,我有一个包含多个文档的集合。我需要一个查询,在多个时间间隔内提供文档值。例如,我需要1分钟前,5分钟前,10分钟前的值,依此类推。

目前我这样做是为了得到我需要的东西。

我创建了一个我需要的不同timeIntervals的对象

var timeIntervals = {
    "1Min" : 60000,
    "5Min" : 300000,
    "10Min" : 600000,
    "30Min" : 1800000,
}

然后遍历它们并在每个间隔上执行此查询以获得我需要的值。

db.collection.findOne({TimeStamp:{$gt: new Date(currentTime - timeInterval)})

虽然这可以满足我的需要,但它非常低效,特别是如果我需要添加更大或更精确的间隔。有没有更好的更有效的方法来执行此操作?

谢谢!

修改

以下是我正在尝试做的更多示例。

我有一个后端,可以实时接收特定符号的股票行情价格,因此每秒收到数百个。每当新价格出现时,它都会被加上时间戳并存储在MongoDB中。每当新价格出现时,我需要获得最后1分钟,5分钟,10分钟等的价格变化。所以我可以看到价格在这些间隔内是如何变化的。然后将该数据存储在不同的集合中。

0 个答案:

没有答案