0

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” 
+0

haben Sie versucht, verwenden müssen 'snapshot.val()'? – Cherniv

+0

Danke Cherniv! Es klappt. Danke –

Antwort

0

Um den Wert von Feuerbasis greifen Sie snapshot.val() nicht snapshot.value

+0

Danke wvicioso für dein Teilen! :) –

Verwandte Themen