2016-12-09 6 views
0

Ich bin ein paar Tage Firebase Benutzer und ich habe versucht, Funktion, die einen normalen Benutzer erstellt (funktioniert), fügen Sie dann mit ihm verbundenen Knoten mit seiner UID als Schlüssel in/Benutzer in der Datenbank zu Speichern Sie weitere Informationen über Benutzer wie Nachname, Adresse usw.Objekt mit Benutzer-Taste in Angularfire

Ich nehme an, dass ich etwas falsch mit meinem Ref mache.

function _createUserNode(firebaseUser, user) { 
    var ref = firebase.database().ref(FirebaseUrl + "https://stackoverflow.com/users/" + firebaseUser.uid); 
    var users = $firebaseArray(ref); 

    users.$add(user).then(function() { 
    //user added 
    }); 
} 

Vielen Dank für Anregungen.

Antwort

1

Die AngularFire-Dienste $firebaseArray und $firebaseObject sind nützlich, um Daten aus der Firebase-Datenbank an Ihre AngularJS-Ansichten zu binden. Wenn Sie sie jedoch nicht an den HTML-Code binden, müssen Sie diese Dienste nicht verwenden.

in Ihrem Code sind Sie nur versuchen, einen Benutzerknoten zu erstellen, die Sie mit der regulären Firebase JavaScript SDK tun können:

function _createUserNode(firebaseUser, user) { 
    var ref = firebase.database().ref(FirebaseUrl + "https://stackoverflow.com/users/" + firebaseUser.uid); 
    ref.set(user).then(function() { 
    //user added 
    }); 
} 

Seit AngularFire gebaut wird auf dem Firebase JavaScript SDK, sie gut zusammenarbeiten. Auch wenn Sie den Benutzer oder die Benutzerliste an anderer Stelle an die Benutzeroberfläche binden (mit $firebaseObject bzw. $firebaseArray), werden diese die von Ihnen vorgenommene Änderung anzeigen.

+0

es ist lustig, denn ich es ziemlich genau diese Art und Weise auch getestet, aber ich gebe mit dieser Fehlermeldung: 'Firebase.child fehlgeschlagen: Erstes Argument war ein ungültiger Pfad:„/users/HJjb69auF6NJzpIcw2fgvNdXePZ2“ . Pfade müssen nicht leere Zeichenfolgen sein und dürfen keine ".", "#", "$", "[" Oder "]" enthalten. – adm

+1

Da die Fehlermeldung besagt, dass in der 'FirebaseUrl' -Variable ein ungültiges Zeichen enthalten ist . Wahrscheinlich suchen Sie 'firebase.database(). Ref ("/users/"+ firebaseUser.uid)' –

+0

oh danke, ich wusste, dass etwas vermasselt ist :) – adm

Verwandte Themen