DataSnapshot class

Un DataSnapshot contient des données provenant d'un emplacement de base de données.

Chaque fois que vous lisez des données de la base de données, vous recevez les données sous forme de DataSnapshot . Un DataSnapshot est transmis aux rappels d'événements que vous attachez avec on() ou once() . Vous pouvez extraire le contenu de l'instantané en tant qu'objet JavaScript en appelant la méthode val() . Alternativement, vous pouvez accéder à l'instantané en appelant child() pour renvoyer des instantanés enfants (sur lesquels vous pouvez ensuite appeler val() ).

Un DataSnapshot est une copie immuable et générée efficacement des données dans un emplacement de base de données. Il ne peut pas être modifié et ne changera jamais (pour modifier des données, vous appelez toujours directement la méthode set() sur une Reference ).

Signature:

export declare class DataSnapshot 

Propriétés

Propriété Modificateurs Taper Description
clé chaîne | nul La clé (dernière partie du chemin) de l'emplacement de ce DataSnapshot . Le dernier jeton dans un emplacement de base de données est considéré comme sa clé. Par exemple, « ada » est la clé du nœud /users/ada/. L'accès à la clé sur n'importe quel DataSnapshot renverra la clé de l'emplacement qui l'a générée. Cependant, l'accès à la clé sur l'URL racine d'une base de données renverra null .
priorité chaîne | numéro | nul Obtient la valeur de priorité des données dans ce DataSnapshot . Les applications n'ont pas besoin d'utiliser la priorité mais peuvent trier les collections par propriétés ordinaires (voir Tri et filtrage des données ).
réf Référence de base de données L'emplacement de ce DataSnapshot.
taille nombre Renvoie le nombre de propriétés enfants de ce DataSnapshot .

Méthodes

Méthode Modificateurs Description
enfant(chemin) Obtient un autre DataSnapshot pour l'emplacement au chemin relatif spécifié. Passer un chemin relatif à la méthode child() d'un DataSnapshot renvoie un autre DataSnapshot pour l'emplacement au chemin relatif spécifié. Le chemin relatif peut être soit un simple nom d'enfant (par exemple, « ada »), soit un chemin plus profond, séparé par des barres obliques (par exemple, « ada/name/first »). Si l'emplacement enfant ne contient aucune donnée, un DataSnapshot vide (c'est-à-dire un DataSnapshot dont la valeur est null ) est renvoyé.
existe() Renvoie vrai si ce DataSnapshot contient des données. C'est légèrement plus efficace que d'utiliser snapshot.val() !== null .
exportVal() Exporte l'intégralité du contenu du DataSnapshot en tant qu'objet JavaScript. La méthode exportVal() est similaire à val() , sauf que les informations de priorité sont incluses (si disponibles), ce qui la rend adaptée à la sauvegarde de vos données.
pourChaque(action) Énumère les enfants de niveau supérieur dans IteratedDataSnapshot . En raison du fonctionnement des objets JavaScript, il n'est pas garanti que l'ordre des données dans l'objet JavaScript renvoyé par val() corresponde à l'ordre sur le serveur ni à l'ordre des événements onChildAdded() . C'est là que forEach() s'avère utile. Il garantit que les enfants d'un DataSnapshot seront itérés dans l'ordre de leur requête. Si aucune méthode explicite orderBy*() n'est utilisée, les résultats sont renvoyés classés par clé (sauf si des priorités sont utilisées, auquel cas, les résultats sont renvoyés par priorité).
hasChild (chemin) Renvoie vrai si le chemin enfant spécifié contient des données (non nulles).
a des enfants() Indique si le DataSnapshot possède ou non des propriétés enfants non null . Vous pouvez utiliser hasChildren() pour déterminer si un DataSnapshot a des enfants. Si c'est le cas, vous pouvez les énumérer en utilisant forEach() . Si ce n'est pas le cas, alors soit cet instantané contient une valeur primitive (qui peut être récupérée avec val() ), soit il est vide (auquel cas, val() renverra null ).
versJSON() Renvoie une représentation sérialisable JSON de cet objet.
val() Extrait une valeur JavaScript d'un DataSnapshot . En fonction des données contenues dans un DataSnapshot , la méthode val() peut renvoyer un type scalaire (chaîne, nombre ou booléen), un tableau ou un objet. Il peut également renvoyer null, indiquant que le DataSnapshot est vide (ne contient aucune donnée).

DataSnapshot.key

La clé (dernière partie du chemin) de l'emplacement de ce DataSnapshot .

Le dernier jeton dans un emplacement de base de données est considéré comme sa clé. Par exemple, « ada » est la clé du nœud /users/ada/. L'accès à la clé sur n'importe quel DataSnapshot renverra la clé de l'emplacement qui l'a générée. Cependant, accéder à la clé sur l'URL racine d'une base de données renverra null .

Signature:

get key(): string | null;

DataSnapshot.priority

Obtient la valeur prioritaire des données dans ce DataSnapshot .

Les applications n'ont pas besoin d'utiliser la priorité mais peuvent trier les collections par propriétés ordinaires (voir Tri et filtrage des données ).

Signature:

get priority(): string | number | null;

DataSnapshot.ref

L'emplacement de ce DataSnapshot.

Signature:

readonly ref: DatabaseReference;

DataSnapshot.size

Renvoie le nombre de propriétés enfants de ce DataSnapshot .

Signature:

get size(): number;

DataSnapshot.child()

Obtient un autre DataSnapshot pour l'emplacement au chemin relatif spécifié.

Passer un chemin relatif à la méthode child() d'un DataSnapshot renvoie un autre DataSnapshot pour l'emplacement au chemin relatif spécifié. Le chemin relatif peut être soit un simple nom d'enfant (par exemple, « ada »), soit un chemin plus profond, séparé par des barres obliques (par exemple, « ada/name/first »). Si l'emplacement enfant ne contient aucune donnée, un DataSnapshot vide (c'est-à-dire un DataSnapshot dont la valeur est null ) est renvoyé.

Signature:

child(path: string): DataSnapshot;

Paramètres

Paramètre Taper Description
chemin chaîne Un chemin relatif vers l’emplacement des données enfants.

Retour:

Aperçu des données

DataSnapshot.exists()

Renvoie vrai si ce DataSnapshot contient des données. C'est légèrement plus efficace que d'utiliser snapshot.val() !== null .

Signature:

exists(): boolean;

Retour:

booléen

DataSnapshot.exportVal()

Exporte l'intégralité du contenu du DataSnapshot en tant qu'objet JavaScript.

La méthode exportVal() est similaire à val() , sauf que les informations prioritaires sont incluses (si disponibles), ce qui les rend adaptées à la sauvegarde de vos données.

Signature:

exportVal(): any;

Retour:

n'importe lequel

Le contenu du DataSnapshot sous forme de valeur JavaScript (objet, tableau, chaîne, nombre, booléen ou null ).

DataSnapshot.forEach()

Énumère les enfants de niveau supérieur dans IteratedDataSnapshot .

En raison du fonctionnement des objets JavaScript, il n'est pas garanti que l'ordre des données dans l'objet JavaScript renvoyé par val() corresponde à l'ordre sur le serveur ni à l'ordre des événements onChildAdded() . C'est là que forEach() s'avère utile. Il garantit que les enfants d'un DataSnapshot seront itérés dans l'ordre de leur requête.

Si aucune méthode explicite orderBy*() n'est utilisée, les résultats sont renvoyés classés par clé (sauf si des priorités sont utilisées, auquel cas, les résultats sont renvoyés par priorité).

Signature:

forEach(action: (child: IteratedDataSnapshot) => boolean | void): boolean;

Paramètres

Paramètre Taper Description
action (enfant : IteratedDataSnapshot ) => booléen | vide Une fonction qui sera appelée pour chaque DataSnapshot enfant. Le rappel peut renvoyer true pour annuler une énumération ultérieure.

Retour:

booléen

true si l'énumération a été annulée en raison du retour de votre rappel true.

DataSnapshot.hasChild()

Renvoie vrai si le chemin enfant spécifié contient des données (non nulles).

Signature:

hasChild(path: string): boolean;

Paramètres

Paramètre Taper Description
chemin chaîne Un chemin relatif vers l’emplacement d’un enfant potentiel.

Retour:

booléen

true si les données existent sur le chemin enfant spécifié ; sinon false .

DataSnapshot.hasChildren()

Indique si le DataSnapshot possède ou non des propriétés enfants non null .

Vous pouvez utiliser hasChildren() pour déterminer si un DataSnapshot a des enfants. Si c'est le cas, vous pouvez les énumérer en utilisant forEach() . Si ce n'est pas le cas, alors soit cet instantané contient une valeur primitive (qui peut être récupérée avec val() ) ou il est vide (auquel cas, val() renverra null ).

Signature:

hasChildren(): boolean;

Retour:

booléen

true si cet instantané a des enfants ; sinon faux.

DataSnapshot.toJSON()

Renvoie une représentation sérialisable JSON de cet objet.

Signature:

toJSON(): object | null;

Retour:

objet | nul

DataSnapshot.val()

Extrait une valeur JavaScript d'un DataSnapshot .

En fonction des données d'un DataSnapshot , la méthode val() peut renvoyer un type scalaire (chaîne, nombre ou booléen), un tableau ou un objet. Il peut également renvoyer null, indiquant que le DataSnapshot est vide (ne contient aucune donnée).

Signature:

val(): any;

Retour:

n'importe lequel

Le contenu du DataSnapshot sous forme de valeur JavaScript (objet, tableau, chaîne, nombre, booléen ou null ).