Я начал использовать Firebase и все еще учусь. Мне сложно понять, почему Firebase буквально удаляет нулевое значение из дерева.

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

Я не могу сохранить свойство null в консоли.

Итак, каковы преимущества отказа от сохранения нулевого значения в Firebase?

0
Paweł O. 1 Ноя 2018 в 21:57

1 ответ

Лучший ответ

Природа реального времени базы данных реального времени делает эту функцию желательной. Представьте, например, что я слушаю путь в дереве вроде path/to/a/val:

firebase.database().ref('path/to/a/val').on('value', snap => {
  console.log(snap.val());
});

Если null и удаленные обрабатывались по-разному, как это должно происходить, если я сначала устанавливаю значение на null, а затем удаляю его? Должен ли слушатель выстрелить дважды? Кроме того, что произойдет, если он перейдет из удаленного в нулевое и обратно в имеющее значение?

Не различая нулевые и неопределенные значения, база данных реального времени значительно упрощает концептуальную модель обработки данных.

Если вы сильно желаете такой обработки, Cloud Firestore предлагает ориентированную на документы модель, которая < em> допускает использование значений null в полях документов. Посмотри!

2
Michael Bleigh 1 Ноя 2018 в 19:45