Ich stehe auf ein Problem, wenn ich versuche, die Informationen, die ich in Firebase eingestellt habe, abzurufen. Wenn ich eine console.log gemacht habe, habe ich Alter undefiniert und Geschlecht undefiniert.Firebase gibt Felder als undefiniert zurück
Unten ist der Code, den ich schrieb, um einige Benutzerinformationen in Firebase zu setzen. Ich habe die set-Methode verwendet, weil der Benutzer nur ein Benutzerprofil hat. Ich möchte nicht, dass der Benutzer ein zusätzliches Profil hinzufügt, was der Fall ist, wenn ich die Push-Methode verwende.
onTestSubmit(){
const { currentUser } = firebaseApp.auth();
let { gender, age } = this.state;
firebaseApp.database().ref(`/users/${currentUser.uid}/profile`).set({
gender: this.state.gender,
age: this.state.age
})
}
Dies ist der Code zum Abrufen der Informationen von Firebase.
fetchUserProfile(){
const { currentUser } = firebaseApp.auth();
firebaseApp.database().ref(`/users/${currentUser.uid}/profile`).orderByValue()
.on('child_added', snapshot => {
console.log(snapshot.key, snapshot.value);
})
}
Der Chrome-Debugger kehrt Alter undefiniert und Geschlecht nicht definiert. My Firebase-Datenbank ist wie folgt strukturiert:
users
3cUWAm052…
profile
age: “32”
gender: “Male”
JYPknwOipdS…
profile
age: “22”
gender: “Female”
haben Sie versucht, verwenden müssen 'snapshot.val()'? – Cherniv
Danke Cherniv! Es klappt. Danke –