2016-11-14 17 views
7

में बच्चे के विशेष मूल्य को कैसे अपडेट करें मैं नीचे दिए गए कोड में अपना डिस्प्ले नाम अपडेट करना चाहता हूं। मैं अपना प्रदर्शन नाम कैसे अपडेट कर सकता हूं। मेरे डेटाबेस structer रूप में नीचे है:फायरबेस डीबी - फायरबेस डाटाबेस

 
-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"); 

वैकल्पिक रूप से, आप भी वही साथ प्राप्त कर सकते हैं लेकिन संभव है कि आप उपयोगकर्ता की आईडी नहीं जानते हैं, इस मामले में आपको इसे पहले देखना होगा:

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

हालांकि आपकी डेटा संरचना पर एक अंतिम टिप्पणी: आप उपयोगकर्ता प्रोफाइल संग्रहीत कर रहे हैं, लेकिन आप उन्हें पुश आईडी के तहत संग्रहीत कर रहे हैं। संरचना के इस प्रकार के लिए हम आमतौर पर सुझाव है कि आप अपने यूआईडी के तहत प्रत्येक उपयोगकर्ता की दुकान:

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

इस तरह की संरचना के साथ आप किसी भी संभावना है कि आप एक ही उपयोगकर्ता दो बार भंडारण कर रहे हैं हटा दें। इसके अलावा, अब आप क्वेरी के बिना उपयोगकर्ता के डिस्प्ले नाम को अपडेट कर सकते हैं:

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