C'est la structure de ma base de données, chaque utilisateur est dans un enfant avec une valeur identique à celle de son identifiant

Database structure image

C'est le code que j'utilise

var userId = firebase.auth().currentUser.uid;
return firebase.database().ref('/users/' + userId).child("userName").once('value').then(function(snapshot) {
  var username = (snapshot.val() && snapshot.val().username) || 'Anonymous';
  $("#name-tag").append(username);
});

Je veux la valeur userName et je dois l'afficher

2
rinzler78 31 août 2020 à 13:05

2 réponses

Meilleure réponse

Modifiez d'abord la manière dont vous authentifiez l'utilisateur, puis créez une référence appropriée à la base de données.

firebase.auth().onAuthStateChanged(function(user) {
        if (user) {
            // User is signed in.
            var userDBRef = firebase.database().ref().child("User Database").child(user.uid);
            userDBRef.on("value", function(userDB){
                $("#para-id").append(userDB.child("userName").val());
            });
        } else {
            // No user is signed in.
            console.log("no user!!!");
        }
        });
3
tronrinzler789 31 août 2020 à 10:15

Essayez ce code:

var userId = firebase.auth().currentUser.uid;
return firebase.database().ref('/users/' + 
userId).child("userName").once('value').then(function(snapshot) {
  var username = snapshot.val() ? snapshot.val().username) : 'Anonymous';
  $("#name-tag").append(username);
});

Si snapshot.val() retourne null alors usename sera 'Anonymus'

0
ThienLD 31 août 2020 à 10:15