2016-07-29 5 views
1

Firebase Console kann nur E-Mail-Adresse und das Passwort setzen, gibt es keine Option Benutzer-Profile zu speichern, aber dies kann unter Verwendung von Code erfolgen:Firebase - Wie dauerhaft Benutzerprofil zu speichern?

user.updateProfile({ 
    displayName: "Chinmay Sarupria" 
}).then(function() { 
    console.log(user.displayName); 
}, function(error) { 
    console.log(error); 
}); 

Ist dies der Weg ist, permanent Benutzerdaten zu speichern, dann ist es unmöglich, Code für jeden Benutzer zu schreiben, nur um seinen displayName so zu speichern oder per Code permanent zu machen, im Moment funktioniert es für mich, aber ich bin mir nicht sicher, ob es für immer so bleiben wird.

Natürlich könnte ich die Benutzerdaten in Echtzeit-Datenbank speichern und dann abrufen, basierend auf Benutzer-UID, aber wenn das Speichern von Benutzerdaten in der Benutzervariablen möglich ist, dann ist das viel besser als die Daten aus der Datenbank.

Antwort

0

Nachdem Sie Ihr Benutzerobjekt referenziert haben, können Sie Werte unter der UID für diesen Benutzer aktualisieren.

var rootRef = new Firebase('https://yourapp.firebaseio.com'); 
// Check the current user login status and redirect if not logged in 
var user = rootRef.getAuth(); 
if (user) { 
    var user = rootRef.getAuth(); 
    var userRef = rootRef.child('users').child(user.uid); 
    ... do something with the logged in user... 
} 

function writeData() { 
    var user = rootRef.getAuth(); 
    var userRef = rootRef.child('users').child(user.uid); 
    var profileRef=userRef.child('profile').push(); 
    profileRef.update ({ 
    name: "Tony", 
    position: "Developer" 
    }); 
}; 

Dies sollte eine Struktur so etwas wie dies Ihr Benutzerprofil geben:

} 
    "users" : { 
    "067f75bf-4a07-473e-82e5-d9a5ee11be17" : { 
     "profile" : { 
     "-KN2dG5X4lLpp0fwfsXK" : { 
     "name" : "Tony", 
     "position" : "Developer" 
     } 
    } 
    } 
} 

Notiere die push() Funktion können Sie den zufällig generierten Schlüssel gibt. Du brauchst es vielleicht nicht.

Hoffe, das hilft.

+2

Bitte speichern Sie keine Benutzerprofile unter Drucktasten. Wenn nicht mehrere Knoten pro Benutzer unter '/ users/$ uid/profile' benötigt werden, sollten Sie nur die Daten als'/users/$ uid/name', '/ users/$ uid/position' usw. speichern. –

Verwandte Themen