2016-11-14 108 views

回答

30

如果您想更新此用戶的顯示名:

var db = firebase.database(); 
db.ref("-Users/-KUanJA9egwmPsJCxXpv/displayName").set("New trainer"); 

或者,你也可以得到同樣的搭配:

db.ref("-Users/-KUanJA9egwmPsJCxXpv").update({ displayName: "New trainer" }); 

但很可能你不知道用戶的ID,在這種情況下,你需要先看看:

var query db.ref("-Users").orderByKey("uid").equalTo("jRXMsNZHR2exqifnR2rXcceEMxF2"); 
query.once("child_added", function(snapshot) { 
    snapshot.ref.update({ displayName: "New trainer" }) 
}); 

儘管您對數據結構有一個最後的評論:您似乎在存儲用戶配置文件,但是您將它們存儲在推送ID下。對於這種類型的結構,我們通常建議您每一個用戶存儲他們的UID下:

-Users 
     jRXMsNZHR2exqifnR2rXcceEMxF2 
     displayName:"Test Trainer"  
     email:"[email protected]" 

在這種結構中刪除任何你存儲相同的用戶兩次機會。另外,您現在可以在不需要查詢的情況下更新用戶的顯示名稱:

var currentUser = firebase.auth().currentUser; 
db.ref("-Users/"+currentUser.uid).update({ displayName: "New trainer" });