मुझे लगता है कि आपने इस प्रश्न को मेरे Firecast on YouTube के लिए टिप्पणियों में भी पूछा है। यह एक अच्छा सवाल है। यदि आप फायरबेस नमूने के लिए क्लाउड फ़ंक्शंस के साथ अनुसरण कर रहे हैं, तो आपने admin.database().ref()
देखा होगा।
admin.database().ref()
डेटाबेस में डेटा तक पहुंचने के लिए Firebase admin SDK का उपयोग करता है। एक व्यवस्थापक संदर्भ के रूप में, यह डेटाबेस के किसी भी हिस्से में अप्रतिबंधित पहुंच है।
वीडियो में, root = event.data.ref.root
, डेटाबेस की जड़ का संदर्भ जहां .onWrite
घटना हुई। रेफरी ने उस घटना को ट्रिगर करने वाले उपयोगकर्ता के समान पढ़ने और लिखने का उपयोग किया है। admin.database().ref()
के विपरीत, यह अप्रतिबंधित पहुंच प्रदान नहीं करता है। root.child
इसलिए डेटाबेस में उस विशिष्ट पथ तक पहुंचें, जब तक उपयोगकर्ता को इसे एक्सेस करने की अनुमति हो।
अब event.data.adminRef.root
डाटाबेस के किसी भी हिस्से में अप्रतिबंधित पहुंच के साथ एक डेटाबेस संदर्भ है। अगर यह admin.database.ref()
जैसा लगता है, तो ऐसा इसलिए है क्योंकि वे बिल्कुल समान हैं। मेरे मामले में, मैंने एक वीडियो में पेश किए गए नए विषयों की मात्रा को सीमित करने के लिए event.data.ref.root
चुना है। यदि आप व्यवस्थापक एसडीके का उपयोग करके अधिक आरामदायक हैं, तो यह बिल्कुल ठीक है।
स्रोत
2017-04-25 23:15:57
धन्यवाद आपके उत्तर का विस्तार करने के लिए। मेरे ऐप के लिए, और मेरा दृष्टिकोण, admin.database()। Ref() का उपयोग करके समझ में आता है क्योंकि यह मुझे वास्तविक डेटा पर कड़े सुरक्षा नियमों की अनुमति देता है, क्योंकि क्लाउड फ़ंक्शन मेरे द्वारा प्रशासित होता है। इसलिए मेरे पास ऐसे नोड्स हो सकते हैं जिन्होंने admin.database()। Ref() के माध्यम से व्यवस्थापक को छोड़कर विशेषाधिकार नहीं लिखे हैं। – Learn2Code