У меня один MongoDB do c:
{
"asset": "BANANA",
"timeframe": "5m",
"date": "2020-07-11T03:55:00.000Z"
}
Дата для меня критична. Может быть только одна запись даты на asset
с той же датой. Итак, на следующем этапе приходят мои fre sh данные, и перед тем, как они попадают в базу данных, они выглядят так:
{
"asset": "BANANA",
"timeframe": "5m",
"date": "2020-07-11T03:55:00.000Z"
}
{
"asset": "BANANA",
"timeframe": "5m",
"date": "2020-07-11T04:00:00.000Z"
}
Итак, как вы можете видеть, теперь у меня есть две записи на пути для отправки в базу данных MongoDB. На этом этапе я провожу тест, чтобы увидеть, какие из них уже находятся в базе данных, а какие новые.
Я использую следующий запрос model.exists({date: "2020-07-11T03:55:00.000Z"})
Это удаляет "2020-07-11T03:55:00.000Z"
из входящих данных и продолжает сохранять только тот, который является новым, тот, который имеет подпись "date": "2020-07-11T04:00:00.000Z"
.
Итак, моя база данных теперь выглядит так:
{
"asset": "BANANA",
"timeframe": "5m",
"date": "2020-07-11T03:55:00.000Z"
}
{
"asset": "BANANA",
"timeframe": "5m",
"date": "2020-07-11T04:00:00.000Z"
}
Однако при следующих полученных данных я получаю в ответ следующее:
{
"asset": "APPLE",
"timeframe": "5m",
"date": "2020-07-11T03:55:00.000Z"
}
Когда я выполняю свой поиск, model.exists({date: "2020-07-11T03:55:00.000Z"})
, эти fre sh данные помечаются как уже существующие, несмотря на то, что актив - новый "asset"
со значением "APPLE"
внутри.
Есть ли способ вернуть exists:true
для: "asset": "BANANA", "date": "2020-07-11T03:55:00.000Z"
, но exists:false
для "asset": "APPLE", "date": "2020-07-11T03:55:00.000Z"
?
Остановка записей с одинаковой датой в одних и тех же активах, но разрешение записей с одинаковыми данными для разных активов.
Я также позабочусь о том, чтобы моя схема MongoDB НЕ содержала {data: unique}
.
Решение, о котором я подумал, вероятно, создает третий идентификатор UUID на основе data
и asset
значений, но это почему-то кажется слишком сложным?