DataSnapshot
содержит данные из местоположения базы данных.
Каждый раз, когда вы читаете данные из базы данных, вы получаете их в виде DataSnapshot
. DataSnapshot
передается в обратные вызовы событий, которые вы прикрепляете с помощью on()
или once()
. Вы можете извлечь содержимое снимка как объект JavaScript, вызвав метод val()
. В качестве альтернативы вы можете перейти к снимку, вызвав child()
для возврата дочерних снимков (которые затем можно вызвать val()
).
DataSnapshot
— это эффективно созданная неизменяемая копия данных в базе данных. Он не может быть изменен и никогда не изменится (чтобы изменить данные, вы всегда вызываете метод set()
непосредственно Reference
).
Подпись:
export declare class DataSnapshot
Характеристики
Свойство | Модификаторы | Тип | Описание |
---|---|---|---|
ключ | строка | нулевой | Ключ (последняя часть пути) местоположения этого DataSnapshot . Последний токен в местоположении базы данных считается ее ключом. Например, «ada» — это ключ узла /users/ada/. Доступ к ключу в любом DataSnapshot вернет ключ для местоположения, в котором он был создан. Однако доступ к ключу корневого URL-адреса базы данных вернет null . | |
приоритет | строка | номер | нулевой | Получает значение приоритета данных в этом DataSnapshot . Приложениям не обязательно использовать приоритет, но они могут упорядочивать коллекции по обычным свойствам (см. Сортировка и фильтрация данных ). | |
ссылка | База данныхСправочник | Местоположение этого моментального снимка данных. | |
размер | число | Возвращает количество дочерних свойств этого DataSnapshot . |
Методы
Метод | Модификаторы | Описание |
---|---|---|
ребенок (путь) | Получает еще один DataSnapshot для местоположения по указанному относительному пути. Передача относительного пути методу child() DataSnapshot возвращает другой DataSnapshot для местоположения по указанному относительному пути. Относительный путь может представлять собой либо простое дочернее имя (например, «ada»), либо более глубокий путь, разделенный косой чертой (например, «ada/name/first»). Если в дочернем расположении нет данных, возвращается пустой DataSnapshot (то есть DataSnapshot , значение которого равно null ). | |
существует() | Возвращает true, если этот DataSnapshot содержит какие-либо данные. Это немного более эффективно, чем использование snapshot.val() !== null . | |
экспортВал() | Экспортирует все содержимое DataSnapshot как объект JavaScript. Метод exportVal() аналогичен val() , за исключением того, что включается информация о приоритете (если она доступна), что делает его пригодным для резервного копирования ваших данных. | |
forEach (действие) | Перечисляет дочерние элементы верхнего уровня в IteratedDataSnapshot . Из-за особенностей работы объектов JavaScript не гарантируется, что порядок данных в объекте JavaScript, возвращаемом функцией val() будет соответствовать порядку на сервере или порядку событий onChildAdded() . Вот тут-то и пригодится forEach() . Это гарантирует, что дочерние элементы DataSnapshot будут повторяться в порядке их запроса. Если явный метод orderBy*() не используется, результаты возвращаются в порядке ключа (если не используются приоритеты, в этом случае результаты возвращаются по приоритету). | |
имеетЧилд (путь) | Возвращает true, если указанный дочерний путь содержит (ненулевые) данные. | |
имеетДети() | Возвращает информацию о том, имеет ли DataSnapshot какие-либо дочерние свойства, отличные null . Вы можете использовать hasChildren() чтобы определить, есть ли у DataSnapshot дочерние элементы. Если да, вы можете перечислить их с помощью forEach() . Если это не так, то либо этот снимок содержит примитивное значение (которое можно получить с помощью val() ), либо он пуст (в этом случае val() вернет null ). | |
toJSON() | Возвращает сериализуемое в формате JSON представление этого объекта. | |
вал() | Извлекает значение JavaScript из DataSnapshot . В зависимости от данных в DataSnapshot метод val() может возвращать скалярный тип (строку, число или логическое значение), массив или объект. Он также может возвращать значение null, что указывает на то, что DataSnapshot пуст (не содержит данных). |
DataSnapshot.key
Ключ (последняя часть пути) местоположения этого DataSnapshot
.
Последний токен в местоположении базы данных считается ее ключом. Например, «ada» — это ключ узла /users/ada/. Доступ к ключу в любом DataSnapshot
вернет ключ для местоположения, в котором он был создан. Однако доступ к ключу корневого URL-адреса базы данных вернет null
.
Подпись:
get key(): string | null;
DataSnapshot.priority
Получает значение приоритета данных в этом DataSnapshot
.
Приложениям не обязательно использовать приоритет, но они могут упорядочивать коллекции по обычным свойствам (см. Сортировка и фильтрация данных ).
Подпись:
get priority(): string | number | null;
DataSnapshot.ref
Местоположение этого моментального снимка данных.
Подпись:
readonly ref: DatabaseReference;
DataSnapshot.size
Возвращает количество дочерних свойств этого DataSnapshot
.
Подпись:
get size(): number;
DataSnapshot.child()
Получает еще один DataSnapshot
для местоположения по указанному относительному пути.
Передача относительного пути методу child()
DataSnapshot возвращает другой DataSnapshot
для местоположения по указанному относительному пути. Относительный путь может представлять собой либо простое дочернее имя (например, «ada»), либо более глубокий путь, разделенный косой чертой (например, «ada/name/first»). Если в дочернем расположении нет данных, создается пустой DataSnapshot
(то есть DataSnapshot
, значение которого равно null
. ) возвращается.
Подпись:
child(path: string): DataSnapshot;
Параметры
Параметр | Тип | Описание |
---|---|---|
путь | нить | Относительный путь к местоположению дочерних данных. |
Возврат:
DataSnapshot.exists()
Возвращает true, если этот DataSnapshot
содержит какие-либо данные. Это немного более эффективно, чем использование snapshot.val() !== null
.
Подпись:
exists(): boolean;
Возврат:
логическое значение
DataSnapshot.exportVal()
Экспортирует все содержимое DataSnapshot как объект JavaScript.
Метод exportVal()
аналогичен методу val()
, за исключением того, что включена приоритетная информация (если она доступна), что делает ее подходящей для резервного копирования ваших данных.
Подпись:
exportVal(): any;
Возврат:
любой
Содержимое DataSnapshot в виде значения JavaScript (объект, массив, строка, число, логическое значение или null
).
DataSnapshot.forEach()
Перечисляет дочерние элементы верхнего уровня в IteratedDataSnapshot
.
Из-за особенностей работы объектов JavaScript не гарантируется, что порядок данных в объекте JavaScript, возвращаемом функцией val()
будет соответствовать порядку на сервере или порядку событий onChildAdded()
. Вот тут-то и пригодится forEach()
. Это гарантирует, что дочерние элементы DataSnapshot
будут повторяться в порядке их запроса.
Если явный метод orderBy*()
не используется, результаты возвращаются в порядке ключа (если не используются приоритеты, в этом случае результаты возвращаются по приоритету).
Подпись:
forEach(action: (child: IteratedDataSnapshot) => boolean | void): boolean;
Параметры
Параметр | Тип | Описание |
---|---|---|
действие | (дочерний элемент: IteredDataSnapshot ) => логическое значение | пустота | Функция, которая будет вызываться для каждого дочернего DataSnapshot. Обратный вызов может вернуть true, чтобы отменить дальнейшее перечисление. |
Возврат:
логическое значение
true, если перечисление было отменено из-за того, что ваш обратный вызов вернул true.
DataSnapshot.hasChild()
Возвращает true, если указанный дочерний путь содержит (ненулевые) данные.
Подпись:
hasChild(path: string): boolean;
Параметры
Параметр | Тип | Описание |
---|---|---|
путь | нить | Относительный путь к местонахождению потенциального ребенка. |
Возврат:
логическое значение
true
, если данные существуют по указанному дочернему пути; иначе false
.
DataSnapshot.hasChildren()
Возвращает информацию о том, имеет ли DataSnapshot
какие-либо дочерние свойства, отличные null
.
Вы можете использовать hasChildren()
чтобы определить, есть ли у DataSnapshot
дочерние элементы. Если да, вы можете перечислить их, используя forEach()
. Если это не так, то либо этот снимок содержит примитивное значение (которое можно получить с помощью val()
) или оно пусто (в этом случае val()
вернет null
).
Подпись:
hasChildren(): boolean;
Возврат:
логическое значение
true, если у этого снимка есть дочерние элементы; иначе ложь.
DataSnapshot.toJSON()
Возвращает сериализуемое в формате JSON представление этого объекта.
Подпись:
toJSON(): object | null;
Возврат:
объект | нулевой
DataSnapshot.val()
Извлекает значение JavaScript из DataSnapshot
.
В зависимости от данных в DataSnapshot
, метод val()
может возвращать скалярный тип (строку, число или логическое значение), массив или объект. Он также может возвращать значение null, что указывает на то, что DataSnapshot
пуст (не содержит данных).
Подпись:
val(): any;
Возврат:
любой
Содержимое DataSnapshot в виде значения JavaScript (объект, массив, строка, число, логическое значение или null
).