2017-09-10 4 views
0

Je veux vérifier si une clé existe dans la base de données en temps réel. Je sais que je ne peux pas récupérer le parent et puis utiliser .hasChild('theKey') pour le vérifier, mais le nœud parent peut être massif et le chargement de tout cela peut être coûteux.Comment vérifier si une clé existe, sans récupérer le nœud parent? [Firebase/Database]

Je sais aussi que je ne peux que demander la clé à partir de la base de données en temps réel, et si elle n'existe pas, elle va générer une erreur. Mais cette méthode n'est pas très bonne pour moi non plus parce que je ne sais pas comment m'assurer que l'erreur lancée est parce que la clé n'existe pas, pas, par exemple, un problème de réseau ou autre chose. En passant, j'utilise node.js dans Firebase Functions pour accéder à la base de données.

Répondre

2

Vous pouvez utiliser le paramètre peu profond pour vérifier si une clé existe. Si les données existent, il retournera la valeur (pour les primitives) ou 'true' (pour les objets) et si elle n'existe pas, elle renverra null.

En savoir plus: https://firebase.google.com/docs/database/rest/retrieve-data#shallow

+0

Merci, mais comment puis-je l'utiliser dans les fonctions Firebase? –

+0

Vous pouvez l'interroger en émettant une requête GET à partir de votre script de fonctions de cloud. Je recommande d'utiliser la bibliothèque * request * ou * http * pour effectuer des requêtes http (s) à partir du nœud. –