Firestore, डेटा को सभी वेब क्लाइंट के साथ सिंक रखने के लिए, स्केल करने लायक एक अच्छा डेटाबेस है.
कई ऐप्लिकेशन के लिए, Firestore की मैनेज की गई ऑफ़लाइन सहायता खास तौर पर अहम है. इससे आपको ऐसे ऐप्लिकेशन बनाने में मदद मिलती है जो नेटवर्क के इंतज़ार या इंटरनेट कनेक्टिविटी के बावजूद काम करते हैं. हालांकि, ज़्यादा सुविधाओं वाले SDK टूल का साइज़ बड़ा होता है. Firebase, उन ऐप्लिकेशन के लिए क्या ऑफ़र करता है जिन्हें सिर्फ़ डेटा बनाने, पढ़ने, अपडेट करने, और मिटाने के बुनियादी ऑपरेशन का इस्तेमाल करना है और जिन्हें मैनेज किए गए ऑफ़लाइन सहायता की ज़रूरत नहीं है?
समाधान: Firestore Lite
Firestore Lite, एक हल्का और स्टैंडअलोन Firestore SDK टूल है. यह सिर्फ़ REST API का इस्तेमाल करता है. यह एक दस्तावेज़ को फ़ेच करने, क्वेरी को लागू करने, और दस्तावेज़ को अपडेट करने की सुविधा देता है. यह सुविधा, वेब SDK टूल के साइज़ के मुकाबले काफ़ी कम जगह लेता है. Firestore Lite में, इंतज़ार का समय कम करने, ऑफ़लाइन कैश मेमोरी में डेटा सेव करने, क्वेरी फिर से शुरू करने, और स्नैपशॉट के लिसनर की सुविधा नहीं होती. हालांकि, कुछ खास इस्तेमाल के उदाहरणों के लिए, लाइब्रेरी के साइज़ और स्टार्टअप के समय में कमी, एक बेहतर विकल्प है.
Firestore Lite इंपोर्ट करना
Firestore Lite, npm के ज़रिए मॉड्यूलर 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
तरीके शामिल नहीं हैं. - Firestore बंडल.
loadBundle
मेथड और उससे जुड़े मेथड,LoadBundleTask
औरLoadBundleTaskProgress
ऑब्जेक्ट शामिल नहीं किए गए हैं.
दस्तावेज़ फ़ेच करने, क्वेरी करने, और अपडेट करने की सुविधा लागू करना
Firestore Lite इंपोर्ट करने के बाद, एपीआई के सभी सामान्य 'get' और 'update' कॉल किए जा सकते हैं. डेटा जोड़ने और डेटा पाने के सभी इस्तेमाल के उदाहरण लागू होते हैं.
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 के स्टैंडर्ड वर्शन की ऑफ़लाइन पर्सिस्टेंस और कैश मेमोरी की सुविधाओं का इस्तेमाल कब बंद किया जाए. Firestore Lite के कम ओवरहेड के लिए, इन सुविधाओं को छोड़ने का फ़ैसला लेने से पहले, आपको इन सुविधाओं को समझना चाहिए. आम तौर पर, Firestore Lite का इस्तेमाल करना है या नहीं, यह तय करते समय इन बातों का ध्यान रखें:
- ऑनलाइन स्टेटस - Firestore Lite उन ऐप्लिकेशन के लिए अच्छा है जिन्हें लाइव अपडेट की ज़रूरत नहीं होती और जिनमें कनेक्टिविटी होती है.
- साइज़ से जुड़ी पाबंदियां - अगर आपको अपने पूरे JavaScript बंडल का साइज़ कम करना है, तो Firestore Lite का इस्तेमाल करें.