0

Ich habe alle meine Benutzer in meiner Firebase-Datenbank mit der Push() -Methode gespeichert. Diese Methode generiert eine eindeutige ID für jeden Benutzer und speichert sie unter dieser ID. Ich versuche, dies zu ändern, so dass meine Benutzer unter einer user.uid gespeichert werden, die auch automatisch generiert wird, wenn Sie die set() -Methode verwenden, jedoch habe ich Probleme, sie unter dieser Benutzer-UID zu speichern.So speichern Firebase-Benutzer unter UID

Ich verwende Folgendes, um Benutzer zur Datenbank hinzuzufügen, was fehlt mir hier?

firebase.database().ref().child('accounts').set({ 
       email: user.email, 
       userId: firebase.auth().currentUser.uid 

       }) 

diese verwendet set() und speichert die Daten wie folgt aus:

{ 
    "accounts" : { 
     "email" : "", 
     "userId" : "" 
    }, 
{ 
     "email" : "", 
     "userId" : "" 
    } 
} 

Mit push() die Struktur sieht wie folgt aus: Die Anwender gespeichert sind, basierend auf der Feuerbasis Push-ID erzeugt.

{ 
    "accounts" : { 
    "-KRPSyO4B48IpBnHBTYg" : { 
     "email" : "", 
     "userId" : "" 
    }, 
    "-KR4f4s5yvdr67g687nrth" : { 
     "email" : "", 
     "userId" : "" 
    } 
    } 

Was ich suche ist diese Struktur: Benutzer durch die Feuerbasis gespeichert sind, erzeugt userId ..

{ 
     "accounts" : { 
     "userId value" : { 
      "email" : "", 
      "userId" : "" 
     }, 
     "userId value" : { 
      "email" : "", 
      "userId" : "" 
     } 
     } 

Jede Hilfe wäre sehr dankbar !!

Antwort

1

Sie erstellen noch keinen Knoten für die uid selbst in Ihrem Pfad. Ändern Sie es zu:

var uid = firebase.auth().currentUser.uid; 
firebase.database().ref().child('accounts').child(uid).set({ 
    email: user.email, 
    userId: uid 
}) 
+0

Das ist, was ich brauchte. Danke Frank! – MacD

Verwandte Themen