8

क्लाउड फ़ंक्शंस कोडिंग के लिए फ़ायरबेस और जावास्क्रिप्ट का लटका प्राप्त करना; लेकिन मुझे लगता है कि मैं देख रहा हूं कि क्लाउड फ़ंक्शंस में लुक-अप और/या लिखने के लिए कोई भी निम्नलिखित का उपयोग करने के पेशेवरों और विपक्ष को समझा सकता है ?!फायरबेस के लिए क्लाउड फ़ंक्शंस: व्यवस्थापक बनाम रूट लुकअप

  1. admin.database().ref()
    के उपयोग बनाम
  2. root.child()

मैं अपने आप को admin.database.ref() उपयोग किया गया है, लेकिन मैं की जरूरत है? क्या इसके बजाय root.child() का उपयोग करना उतना ही अच्छा है?

उत्तर

22

मुझे लगता है कि आपने इस प्रश्न को मेरे 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 चुना है। यदि आप व्यवस्थापक एसडीके का उपयोग करके अधिक आरामदायक हैं, तो यह बिल्कुल ठीक है।

+0

धन्यवाद आपके उत्तर का विस्तार करने के लिए। मेरे ऐप के लिए, और मेरा दृष्टिकोण, admin.database()। Ref() का उपयोग करके समझ में आता है क्योंकि यह मुझे वास्तविक डेटा पर कड़े सुरक्षा नियमों की अनुमति देता है, क्योंकि क्लाउड फ़ंक्शन मेरे द्वारा प्रशासित होता है। इसलिए मेरे पास ऐसे नोड्स हो सकते हैं जिन्होंने admin.database()। Ref() के माध्यम से व्यवस्थापक को छोड़कर विशेषाधिकार नहीं लिखे हैं। – Learn2Code

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