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:
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
).