Je souhaite mettre à jour mon nom d'affichage dans le code ci-dessous. Comment puis-je mettre à jour mon nom d'affichage? Mon structer de base de données est comme ci-dessous:
- Utilisateurs -KUanJA9egwmPsJCxXpv DisplayName: "Test Trainer" Email: "[email protected]" uid: "jRXMsNZHR2exqifnR2rXcceEMxF2"
Si vous souhaitez mettre à jour le displayName de cet utilisateur:
var db = firebase.database();
db.ref("-Users/-KUanJA9egwmPsJCxXpv/displayName").set("New trainer");
Alternativement, vous pouvez également obtenir la même chose avec:
db.ref("-Users/-KUanJA9egwmPsJCxXpv").update({ displayName: "New trainer" });
Mais il est probable que vous ne connaissiez pas l'ID de l'utilisateur. Dans ce cas, vous devez d'abord le rechercher:
var query db.ref("-Users").orderByChild("uid").equalTo("jRXMsNZHR2exqifnR2rXcceEMxF2");
query.once("child_added", function(snapshot) {
snapshot.ref.update({ displayName: "New trainer" })
});
Une dernière remarque sur votre structure de données: vous semblez stocker des profils d'utilisateurs, mais vous les stockez sous un Push ID. Pour ce type de structure, nous vous recommandons généralement de stocker chaque utilisateur sous son UID:
-Users
jRXMsNZHR2exqifnR2rXcceEMxF2
displayName:"Test Trainer"
email:"[email protected]"
Avec une telle structure, vous supprimez toute chance de stocker le même utilisateur deux fois. De plus, vous pouvez maintenant mettre à jour le nom d'affichage de l'utilisateur sans avoir besoin d'une requête:
var currentUser = firebase.auth().currentUser;
db.ref("-Users/"+currentUser.uid).update({ displayName: "New trainer" });