У меня есть база данных mongodb, в которой хранятся данные временных рядов. Предположим, это данные, которые уже есть.
{
asset: "BTC/EUR",
timeframe: "5m",
stream: {O,H,L,C,V},
date: "2020-06-18T11:35:00+00:00"
}
{
asset: "BTC/EUR",
timeframe: "5m",
stream: {O,H,L,C,V},
date: "2020-06-18T11:40:00+00:00"
}
{
asset: "BTC/EUR",
timeframe: "5m",
stream: {O,H,L,C,V},
date: "2020-06-18T11:45:00+00:00"
}
Как видите, здесь важно поле date
.
После вызова API я получаю новые данные, которые могут выглядеть так.
{
asset: "BTC/EUR",
timeframe: "5m",
stream: {O,H,L,C,V},
date: "2020-06-18T11:35:00+00:00"
}
{
asset: "BTC/EUR",
timeframe: "5m",
stream: {O,H,L,C,V},
date: "2020-06-18T11:40:00+00:00"
}
{
asset: "BTC/EUR",
timeframe: "5m",
stream: {O,H,L,C,V},
date: "2020-06-18T11:45:00+00:00"
}
{
asset: "BTC/EUR",
timeframe: "5m",
stream: {O,H,L,C,V},
date: "2020-06-18T11:50:00+00:00"
}
Итак, все остальные 3 записи уже находятся в базе данных, я просто хотел бы добавить данные, которых нет в базе данных, в нашем случае, последняя запись, датированная 2020-06-18T11:50:00+00:00
- или потенциально заполнить любые пробелы в предыдущих записях.
Нужно ли мне вытащить все предыдущие записи из базы данных и сравнить их с моей последней полезной нагрузкой, а затем отфильтровать существующие те, а затем сделать мою запись в БД?
Вот как выглядит моя схема:
введите описание изображения здесь