Запрос MongoDB для значений через несколько временных интервалов
Совершенно новый для MongoDB, у меня есть коллекция, которая содержит несколько документов. Мне нужен запрос, который дает значение документа в течение нескольких временных интервалов. Например, мне нужно значение от 1 минуты назад, 5 минут назад, 10 минут назад и так далее.
В настоящее время я делаю это, чтобы получить то, что мне нужно.
Я создаю объект разного времени, которое мне нужно
var timeIntervals = {
"1Min" : 60000,
"5Min" : 300000,
"10Min" : 600000,
"30Min" : 1800000,
}
а затем перебрать их и выполнить этот запрос в каждом интервале, чтобы получить значение, которое мне нужно.
db.collection.findOne({TimeStamp:{$gt: new Date(currentTime - timeInterval)})
Хотя это и делает то, что мне нужно, это ужасно неэффективно, особенно если мне нужно добавить большие или более точные интервалы. Есть ли лучший, более эффективный способ выполнения этой операции?
Спасибо!
РЕДАКТИРОВАТЬ
Вот более подробный пример того, что я пытаюсь сделать.
У меня есть бэкэнд, который получает биржевые цены в реальном времени для определенных символов, поэтому он получает сотни секунд. Каждый раз, когда появляется новая цена, она помечается и сохраняется в MongoDB. Каждый раз, когда приходит новая цена, мне нужно получить изменение цены за последние 1 минуту, 5 минут, 10 минут и т. Д. Таким образом, я могу видеть, как цена меняется в течение этих интервалов. А затем сохранить эти данные в другой коллекции.