सभी वेब क्लाइंट के डेटा को सिंक रखने के लिए, Firestore एक अच्छा डेटाबेस है, जिसे बड़े पैमाने पर बढ़ाया जा सकता है.
कई ऐप्लिकेशन के लिए, Firestore की मैनेज की जा रही ऑफ़लाइन सहायता काफ़ी अहम होती है. इससे आपको ऐसे रिस्पॉन्सिव ऐप्लिकेशन बनाने में मदद मिलती है जो नेटवर्क में लगने वाले समय या इंटरनेट कनेक्टिविटी पर ध्यान दिए बिना काम करते हैं. हालांकि, अच्छी सुविधाओं वाले SDK टूल के लिए ज़्यादा पैसे चुकाने पड़ते हैं. Firebase उन ऐप्लिकेशन के लिए क्या ऑफ़र करता है जिन्हें सिर्फ़ बुनियादी बनाने, पढ़ने, अपडेट करने, और मिटाने की ज़रूरत होती है और जिन्हें प्रबंधित ऑफ़लाइन सहायता की ज़रूरत नहीं होती?
समाधान: Firestore Lite
Firestore Lite एक लाइटवेट और स्टैंडअलोन REST-ओनली Firestore SDK टूल है. यह सामान्य वेब SDK टूल के साइज़ के मुकाबले, एक दस्तावेज़ को फ़ेच करने, क्वेरी लागू करने, और दस्तावेज़ अपडेट करने की सुविधा देता है. Firestore Lite में, इंतज़ार के समय की भरपाई, ऑफ़लाइन कैश मेमोरी, क्वेरी को फिर से शुरू करने, और स्नैपशॉट सुनने वालों की जानकारी का इस्तेमाल नहीं किया जाता. हालांकि, कुछ खास कामों के लिए, लाइब्रेरी का साइज़ और स्टार्टअप के समय में कमी होने से बेहतरीन नतीजे मिलते हैं.
Firestore Lite इंपोर्ट करें
Firestore Lite, मॉड्युलर SDK टूल के हिस्से के तौर पर एनपीएम के ज़रिए उपलब्ध है. इस तरह यह पूरी तरह से मॉड्यूलर और पेड़ हिलाने लायक है.
यह इंपोर्ट स्टाइल काम करती है.
import { initializeApp } from "firebase/app";
import {
getFirestore,
getDoc,
updateDoc
} from 'firebase/firestore/lite';
एपीआई की सुविधाएं, Firestore Lite के साथ काम नहीं करतीं
साइज़ और स्पीड के लिए, Firestore Lite इन सुविधाओं को स्टैंडर्ड Firestore SDK से हटा देता है:
- DocumentSnapshot इवेंट हैंडलर.
onSnapshot
तरीका औरDocumentChange
,SnapshotListenerOptions
,SnapshotMetadata
,SnapshotOptions
औरUnsubscribe
ऑब्जेक्ट शामिल नहीं हैं. - परसिस्टेंस हेल्पर. इसमें
enableIndexedDBPersistence
,enableMultiTabIndexedDbPersistence
, औरclearIndexedDbPersistence
तरीके शामिल नहीं हैं. - फ़ायरस्टोर बंडल.
loadBundle
तरीका और उससे जुड़े तरीके के साथ-साथ,LoadBundleTask
औरLoadBundleTaskProgress
ऑब्जेक्ट शामिल नहीं हैं.
दस्तावेज़ फ़ेच करने, क्वेरी करने, और अपडेट करने की सुविधा लागू करना
Firestore Lite इंपोर्ट करने के बाद, सभी जाने-पहचाने एपीआई पाने और कॉल अपडेट करने की सुविधा काम करती है. डेटा जोड़ने और डेटा पाने के इस्तेमाल के सभी उदाहरण लागू होते हैं.
import {
getFirestore,
getDoc,
updateDoc,
doc
} from '@firebase/firestore/lite';
const firestore = getFirestore(app);
const docRef = doc(firestore, 'collection/doc');
const docSnap = await getDoc(docRef);
await updateDoc(docRef, "field", 'value');
Firestore Lite का इस्तेमाल कब करना चाहिए
यह तय करना मुश्किल हो सकता है कि स्टैंडर्ड Firestore SDK टूल की ऑफ़लाइन परसिस्टेंस और कैश मेमोरी की सुविधाओं को कब छोड़ें. Firebase Lite के निचले ओवरहेड के लिए, इन्हें खरीदने से पहले आपको इन सुविधाओं के बारे में जान लेना चाहिए. आम तौर पर, Firestore Lite का इस्तेमाल करना है या नहीं, यह तय करते समय इन बातों का ध्यान रखें:
- ऑनलाइन स्टेटस - Firestore Lite उन ऐप्लिकेशन के लिए अच्छा है जिन्हें लाइव अपडेट और कनेक्टिविटी की ज़रूरत नहीं होती.
- साइज़ कंस्ट्रेंट - अगर आपको अपने पूरे JavaScript बंडल के साइज़ को कम करना है, तो Firestore Lite एक बेहतरीन विकल्प है.