2016-11-14 21 views
7

下記のコードで表示名を更新したいと思います。 displayNameをどのように更新できますか? 私のデータベースstructerは以下の通りです:Firebase DB - Firebaseデータベースの特定の値を更新する方法

 
-Users 
     -KUanJA9egwmPsJCxXpv 

     displayName:"Test Trainer" 

     email:"[email protected]" 

     uid: "jRXMsNZHR2exqifnR2rXcceEMxF2" 
+0

データベースはJSONのように見えるはずです。私はコードを見ることができません。 – Elfayer

答えて

30

このユーザーののdisplayName更新する場合:

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

:また

var db = firebase.database(); 
db.ref("-Users/-KUanJA9egwmPsJCxXpv/displayName").set("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の下に保存しています。あなたは二度同じユーザーを保存している任意のチャンスを削除

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

このような構造により:このタイプの構造のために我々は通常、あなたが彼らのUIDの下に各ユーザーを保存することをお勧めします。さらに、クエリを使用せずにユーザーの表示名を更新できるようになりました。

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