Nis*_*ryu 22 javascript firebase firebase-realtime-database
我想在下面的代码中更新我的显示名称.如何更新我的displayName.我的数据库结构如下:
-Users -KUanJA9egwmPsJCxXpv displayName:"Test Trainer" email:"test@gmail.com" uid: "jRXMsNZHR2exqifnR2rXcceEMxF2"
Fra*_*len 68
如果要更新此用户的displayName:
var db = firebase.database();
db.ref("-Users/-KUanJA9egwmPsJCxXpv/displayName").set("New trainer");
Run Code Online (Sandbox Code Playgroud)
或者,你也可以得到相同的:
db.ref("-Users/-KUanJA9egwmPsJCxXpv").update({ displayName: "New trainer" });
Run Code Online (Sandbox Code Playgroud)
但是你很可能不知道用户的ID,在这种情况下你需要先查看它:
var query db.ref("-Users").orderByChild("uid").equalTo("jRXMsNZHR2exqifnR2rXcceEMxF2");
query.once("child_added", function(snapshot) {
snapshot.ref.update({ displayName: "New trainer" })
});
Run Code Online (Sandbox Code Playgroud)
关于您的数据结构的最后一点评论:您似乎在存储用户配置文件,但是您将它们存储在推送ID下.对于这种类型的结构,我们通常建议您将每个用户存储在其UID下:
-Users
jRXMsNZHR2exqifnR2rXcceEMxF2
displayName:"Test Trainer"
email:"test@gmail.com"
Run Code Online (Sandbox Code Playgroud)
使用这样的结构,您可以删除两次存储同一用户的任何机会.此外,您现在可以更新用户的显示名称而无需查询:
var currentUser = firebase.auth().currentUser;
db.ref("-Users/"+currentUser.uid).update({ displayName: "New trainer" });
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
34127 次 |
最近记录: |