2015-04-05 15 views
6

में किसी सरणी पर कुंजी नाम कैसे सेट करें I Angularfire का उपयोग करके सरणी बना रहा हूं लेकिन मैं कुंजी नाम सेट करने में असमर्थ हूं। फायरबेस स्वचालित रूप से मुझे एक गुप्त कुंजी दे रहा है (जैसे Jm9vLy8Lye-KS35KsmL) लेकिन मैं इसे स्वयं को और अधिक सार्थक रूप से सेट करना चाहता हूं। यह अस्पष्ट है कि मैं Angularfire में यह कैसे करता हूं। मैं $ firebaseArray पर $ जोड़ने विधि का उपयोग कर रहा हूँ:Angularfire

var firebaseRef = new Firebase("https://firebase_location"); 
$scope.messages = $firebaseArray(firebaseRef); 

$scope.messages.$add( 
    { 
    FirstName: patient.FirstName, 
    LastName: patient.LastName 
    } 
).then(function(firebaseRef) { 
    var id = firebaseRef.key(); 
}); 

डेटा ठीक संग्रहीत किया जाता है और मैं इसे अपने डैशबोर्ड पर देख सकते हैं। हालांकि, आईडी हमेशा एक गुप्त अग्निशामक मूल्य है। मैं इसे अपने आप को सार्थक कुछ सेट करने में सक्षम होना पसंद करूंगा। मेरे मामले में व्यक्तिगत रोगी की आईडी सार्थक होगी ...

कोई विचार?

धन्यवाद!

उत्तर

0

फ़ायरबेस एरे में कोई आइटम जोड़ना फ़ायरबेस आपके लिए एक अद्वितीय आईडी परिभाषित करता है। यदि यह वही नहीं है जो आप चाहते हैं, तो मुझे लगता है कि आप केवल $ firebaseArray के साथ सूची प्राप्त करने के बजाय, "संदेश" ऑब्जेक्ट $ firebaseObject के साथ प्राप्त करने का प्रयास कर सकते हैं। फिर आप संदेशों को संग्रह में अपने आइटम जोड़ने के लिए, जेएस में अपनी ऑब्जेक्ट को संपादित करने में सक्षम होंगे। इस तरह आप उस आईडी का उपयोग कर सकते हैं जो आपकी आवश्यकताओं के अनुरूप है। अंत में, आपको अपनी संपूर्ण वस्तु को $ (सहेजें) करना होगा। यहां देखें: https://www.firebase.com/docs/web/libraries/angular/api.html#angularfire-firebaseobject

आशा है कि इससे मदद मिलती है।

1

प्रतिक्रिया के लिए धन्यवाद।

मैंने पाया कि बाल कार्य मुझे जो चाहिए वह करेगा। मैं पहले बच्चे को निर्दिष्ट करता हूं और फिर इसे सेट करता हूं।

var patient_child = firebaseScreenRef.child(patient.PatientId); 
     patient_child.set(
     { 
      FirstName: patient.FirstName, 
      LastName: patient.LastName, 
     }); 
+0

इससे मदद मिली! मैंने पहले $ firebaseObject और $ firebaseArray दोनों का उपयोग करने की कोशिश की, लेकिन केवल रेफरी काम किया - आपको सीधे रेफरी का उपयोग करना होगा ... –

+0

मुझे समझने के लिए कुछ समय लगा, लेकिन यह काम करता है। धन्यवाद ! –

0

आपके प्रश्न के लिए, मुझे एक स्पष्टीकरण मिला। कोड में

var ref = new Firebase(FURL); 

createProfile: function(id ,user) { 

    var profile = {`enter code here` 
       name: user.name, 
       email: user.email, 
       gravatar: get_gravatar(user.email, 40) 
      }; 

    var profileRef = $firebaseArray(ref.child('profile').child(id)); 

    return ref.child('profile').child(id).set(profile); 
}, 

, मैं रेफरी का उपयोग अपने URL का संदर्भ के लिए: आप firebaseObject उपयोग करने की आवश्यकता नहीं है, आप रेफरी सीधे उपयोग करना चाहिए। प्रोफाइलरफ के साथ, मैंने एक बाल प्रोफाइल बनाया और मैंने प्रोफ़ाइल के लिए आईडी जोड़ा। इसके बाद, मैं इच्छित आईडी के लिए मूल्य profile सेट करने के लिए सीधे रेफरी का उपयोग करता हूं। आप देखते हैं, यह बहुत आसान है।

संबंधित मुद्दे