Как справиться с отсутствием нормализации формы в базах данных без SQL - PullRequest
0 голосов
/ 11 октября 2018

Я работаю с базой данных Firebase.Меня назначили задачей: преобразовать все объекты меток времени, которые возвращаются из базы данных, в объекты Date.

Я не так хорошо знаком с базами данных no-sql, такими как firebase.Но я знаю, что форма данных не нормализуется по всем записям.Это создает для меня проблему, о которой мне не придется беспокоиться в базе данных SQL.В то время как в базе данных SQL, если одна запись вернулась без отметки времени, я могу гарантировать, что ни одна запись из той же таблицы не будет иметь отметки времени.Но это не гарантируется для базы данных no-sql, такой как firebase.

Так что, если запись вернулась в следующем виде:

{
id: 123,
name: George Smith,
age: 42
}

Как узнать, что другая запись не будетназад выглядит так:

{
id: 123,
name: George Smith,
age: 42,
createdDate: {…}
updatedDate: {…}
}

Дайте задание, которое мне было поручено (преобразовать метки времени в объекты Date), как разработчик обрабатывает подобные случаи?

Я занимаюсь разработкой вУгловая / Машинопись

1 Ответ

0 голосов
/ 11 октября 2018

Прежде всего, «бесформенный» nosql не означает, что вы не можете делать предположения о том, что есть в каждой записи.Код может быть написан, чтобы гарантировать, что записаны только действительные и полные данные, и это позволяет вам делать предположения о данных, когда они читаются.Это первый лучший способ обработки вещей.

Но если вы абсолютно уверены, что любое поле в любой записи может быть меткой времени, вам придется писать код, который рекурсивно опускает свойства для каждой записи, ищаобъекты, которые выглядят как метки времени, и преобразуют их все по мере необходимости.Вы можете определить, является ли объект меткой времени, проверив, есть ли у него метод toDate для вызова.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...