Природа базы данных в реальном времени делает эту функцию желательной. Например, представьте, что я слушаю путь в дереве, например path/to/a/val
:
firebase.database().ref('path/to/a/val').on('value', snap => {
console.log(snap.val());
});
Если null
и удаленные обрабатываются по-разному, как это будет происходить, если я сначала установлю значение на null
, а затем удалю его? Должен ли слушатель выстрелить дважды? Кроме того, что произойдет, если оно перейдет от удаленного к нулевому и обратно к значению?
Не делая различий между нулевыми и неопределенными значениями, база данных реального времени значительно упрощает концептуальную модель обработки данных.
Если вы сильно желаете такого рода обработки, Cloud Firestore имеет документ-ориентированную модель, которая делает допускающей значения null
в полях документов. Посмотри!