2016-09-02 18 views
5

मेरे फायरबेस डेटाबेस में, मुझे दो स्थानों पर दो बार लिखना होगा। मेरे पास दोनों स्थानों के लिए नियम हैं जो सुनिश्चित करते हैं कि कोई उपयोगकर्ता अन्य स्थान पर एक साथ लिखने के बिना वहां नहीं लिख सकता है।फ़ायरबेस में बहु-स्थान अद्यतन करते समय मैं लेनदेन का उपयोग कैसे कर सकता हूं?

इन स्थानों में से किसी एक को लिखना एक वृद्धि/कमी होना चाहिए। बेशक, इसे एक लेनदेन के माध्यम से किया जाना है, अन्यथा मैं गारंटी नहीं दे सकता कि उपयोगकर्ता उस अन्य नोड में किसी अन्य उपयोगकर्ता के एक साथ वृद्धि/कमी अद्यतन को ओवरराइट नहीं कर रहा है।

समस्या यह है कि, लेन-देन के साथ बहु-स्थान अपडेट के संयोजन पर मुझे कोई दस्तावेज नहीं मिल रहा है। क्या यह करना असंभव है?

उत्तर

6

नहीं। लेनदेन एक नोड पर कार्य करता है।

इसका मतलब है कि यदि आप बहु-स्थान लेनदेन को चलाने के लिए चाहते हैं, तो आपको अनिवार्य रूप से उस लेनदेन को पेड़ में "निम्नतम स्तर साझा नोड" पर चलाना होगा। यह शायद ही कभी एक अच्छा विचार है।

विकल्प सर्वर-साइड सुरक्षा नियमों का उपयोग करके आपके बहु-स्थान लेखन को सुरक्षित करना होगा। इसके उदाहरण के लिए, Is the way the Firebase database quickstart handles counts secure? देखें, जो अनिवार्य रूप से सुरक्षा नियमों का उपयोग करके तुलना-और-सेट ऑपरेशन बनाता है।

+0

निम्नतम नोड पर लेनदेन क्यों है "शायद ही कभी एक अच्छा विचार"? – Junior

+1

चूंकि यह प्रश्न एक कॉल के साथ कई स्थानों को अपडेट करने के बारे में है, इसका मतलब है कि एक इकाई के मुकाबले JSON पेड़ में "निम्नतम स्तर साझा नोड" संभवतः अधिक है। इसका मतलब है कि संसाधन विवाद की अधिक संभावना है, जो लेनदेन की मापनीयता को कम कर देता है। –

+0

ओह हाँ। जवाब के लिए धन्यवाद। यह समझ में आता है। – Junior

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

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