Как обрабатывать существующие данные во время создания документа MongoDB? - PullRequest
0 голосов
/ 10 июля 2020

У меня есть база данных 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 - или потенциально заполнить любые пробелы в предыдущих записях.

Нужно ли мне вытащить все предыдущие записи из базы данных и сравнить их с моей последней полезной нагрузкой, а затем отфильтровать существующие те, а затем сделать мою запись в БД?

Вот как выглядит моя схема:

введите описание изображения здесь

...