आपके Cloud Firestore इंस्टेंस के लिए, कस्टम कॉन्फ़िगरेशन तय करता है. किसी दूसरे तरीके का इस्तेमाल करने से पहले, आपको इन्हें सेट करना होगा.
हस्ताक्षर:
export declare interface FirestoreSettings
प्रॉपर्टी
प्रॉपर्टी | टाइप | ब्यौरा |
---|---|---|
cacheSizeBytes | नंबर | ध्यान दें: आने वाले समय में होने वाली मुख्य रिलीज़ में, इस फ़ील्ड के इस्तेमाल पर रोक लगा दी जाएगी. कैश मेमोरी का साइज़ और कैश मेमोरी के दूसरे कॉन्फ़िगरेशन तय करने के लिए, cache फ़ील्ड का इस्तेमाल करें.डिस्क में मौजूद डेटा के लिए, कैश मेमोरी के साइज़ का अनुमानित थ्रेशोल्ड. अगर कैश मेमोरी इस साइज़ से ज़्यादा बढ़ जाती है, तो Firestore ऐसे डेटा को हटाना शुरू कर देगा जो हाल ही में इस्तेमाल नहीं हुआ है. साइज़ इस बात की गारंटी नहीं है कि कैश मेमोरी में सेव किया गया डेटा उस साइज़ से कम रहेगा. सिर्फ़ अगर कैश मेमोरी, तय किए गए साइज़ से ज़्यादा हो जाती है, तो क्लीनअप की कोशिश की जाएगी.डिफ़ॉल्ट वैल्यू 40 एमबी है. इस थ्रेशोल्ड को कम से कम एक एमबी पर सेट किया जाना चाहिए. साथ ही, कचरा इकट्ठा करने की सुविधा को बंद करने के लिए, इसे CACHE_SIZE_UNLIMITED पर सेट किया जा सकता है. |
एक्सपेरिमेंटलऑटो डिटेक्टल लॉन्गपोलिंग | बूलियन | यह SDK टूल के बुनियादी ट्रांसपोर्ट (WebChannel) को कॉन्फ़िगर करता है, ताकि लंबे समय तक चलने वाले पोल का इस्तेमाल अपने-आप किया जा सके. यह काफ़ी हद तक experimentalForceLongPolling से मिलता-जुलता है. हालांकि, इसमें ज़रूरत पड़ने पर ही लंबी अवधि के पोल का इस्तेमाल किया जाता है.2019 में शुरू होने के बाद से, false की डिफ़ॉल्ट वैल्यू होने के बाद, इस सेटिंग की डिफ़ॉल्ट वैल्यू को मई 2023 में बदलकर true कर दिया गया था. यह वैल्यू, Firebase JavaScript SDK टूल के v9.22.0 वर्शन में मौजूद थी. इसका मतलब है कि लंबी अवधि वाले पोल के लिए, अपने-आप पहचान करने की सुविधा अब डिफ़ॉल्ट रूप से चालू है. इसे बंद करने के लिए, इस सेटिंग को false पर सेट करें. इसके बाद, कृपया GitHub की समस्या खोलें, ताकि उन समस्याओं के बारे में बताएं जिनकी वजह से आपको लंबी अवधि के पोलिंग की अपने-आप पहचान करने वाली सुविधा को बंद करने की प्रेरणा मिली थी.इस सेटिंग को Node.js के एनवायरमेंट में इस्तेमाल नहीं किया जा सकता. |
एक्सपेरिमेंटलफ़ोर्स लॉन्गपोलिंग | बूलियन | SDK टूल के बुनियादी नेटवर्क ट्रांसपोर्ट (WebChannel) को, लंबी पोलिंग का इस्तेमाल करने के लिए मजबूर करता है. बैकएंड से हर जवाब मिलने के तुरंत बाद, इसे बंद कर दिया जाएगा. हालांकि, अगर बैकएंड में ज़्यादा डेटा भेजा जाए, तो डिफ़ॉल्ट तौर पर जवाब डिफ़ॉल्ट रूप से चालू रहते हैं. इससे कुछ प्रॉक्सी, एंटीवायरस सॉफ़्टवेयर वगैरह के साथ असंगत होने की समस्याओं से बचा जा सकता है, जो ट्रैफ़िक को अनिश्चित काल तक गलत तरीके से बफ़र करते हैं. हालांकि, इस विकल्प का इस्तेमाल करने से परफ़ॉर्मेंस में कुछ गिरावट आ सकती है.इस सेटिंग का इस्तेमाल experimentalAutoDetectLongPolling के साथ नहीं किया जा सकता. साथ ही, इसे अगली रिलीज़ में हटाया जा सकता है. अगर आपको नेटवर्क से जुड़ी किसी खास समस्या पर काम करने के लिए इस सेटिंग का इस्तेमाल करना है, तो कृपया https://github.com/firebase/firebase-js-sdk/issues/1674 पर हमें इसके बारे में बताएं.इस सेटिंग का इस्तेमाल Node.js के एनवायरमेंट में नहीं किया जा सकता. |
एक्सपेरिमेंटललॉन्गपोलिंग ऑप्शन | प्रयोग के तौर पर लंबा पोलिंग विकल्प | ऐसे विकल्प जो लंबी पोलिंग का इस्तेमाल करने पर, SDK टूल के नेटवर्क ट्रांसपोर्ट (WebChannel) को कॉन्फ़िगर करते हैं.इन विकल्पों का इस्तेमाल सिर्फ़ तब किया जाता है, जब experimentalForceLongPolling सही हो या experimentalAutoDetectLongPolling सही हो. साथ ही, अपने-आप पहचान करने वाले टूल से यह पता चलता हो कि लंबी पोलिंग ज़रूरी है. ऐसा न करने पर, इन विकल्पों का कोई असर नहीं पड़ेगा. |
होस्ट | स्ट्रिंग | वह होस्टनेम जिससे कनेक्ट करना है. |
ignoreUnspecifiedProperties | बूलियन | ऑब्जेक्ट को क्रम में लगाने के दौरान, undefined पर सेट की गई नेस्ट की गई प्रॉपर्टी को छोड़ना है या नहीं. अगर true पर सेट किया जाता है, तो ये प्रॉपर्टी छोड़ दी जाती हैं और Firestore में नहीं लिखी जाती हैं. अगर SDK टूल को false पर सेट किया जाता है या हटाया जाता है, तो undefined टाइप की प्रॉपर्टी मिलने पर SDK टूल को अपवाद दिखता है. |
localकैश | FirestoreLocalकैश | SDK टूल में इस्तेमाल की गई कैश मेमोरी के बारे में बताता है. MemoryLocalCache और PersistentLocalCache उपलब्ध हैं. हर एक के लिए कॉन्फ़िगरेशन के अलग-अलग विकल्प हैं.कोई भी जानकारी न दिए जाने पर, MemoryLocalCache का इस्तेमाल डिफ़ॉल्ट रूप से किया जाएगा.ध्यान दें: SDK टूल शुरू करने के दौरान, इस फ़ील्ड और cacheSizeBytes को एक ही समय पर सेट करने से अपवाद पैदा होगा. इसके बजाय, कैश मेमोरी का साइज़ बताने के लिए, FirestoreLocalCache ऑब्जेक्ट में कॉन्फ़िगरेशन का इस्तेमाल करें. |
एसएसएल | बूलियन | कनेक्ट करते समय एसएसएल का इस्तेमाल करें या नहीं. |
FirestoreSettings.cacheSizeBytes
ध्यान दें: आने वाले समय में होने वाली मुख्य रिलीज़ में, इस फ़ील्ड के इस्तेमाल पर रोक लगा दी जाएगी. कैश मेमोरी का साइज़ और कैश मेमोरी के दूसरे कॉन्फ़िगरेशन तय करने के लिए, cache
फ़ील्ड का इस्तेमाल करें.
डिस्क में मौजूद डेटा के लिए, कैश मेमोरी के साइज़ का अनुमानित थ्रेशोल्ड. अगर कैश मेमोरी इस साइज़ से ज़्यादा बढ़ जाती है, तो Firestore ऐसे डेटा को हटाना शुरू कर देगा जो हाल ही में इस्तेमाल नहीं हुआ है. आकार इस बात की गारंटी नहीं है कि कैश उस आकार से कम रहेगा. सिर्फ़ तभी जब कैश मेमोरी दिए गए आकार से ज़्यादा हो जाएगी, तो क्लीनअप करने की कोशिश की जाएगी.
डिफ़ॉल्ट तौर पर, यह वैल्यू 40 एमबी होती है. इस थ्रेशोल्ड को कम से कम एक एमबी पर सेट किया जाना चाहिए. साथ ही, कचरा इकट्ठा करने की सुविधा को बंद करने के लिए, इसे CACHE_SIZE_UNLIMITED
पर सेट किया जा सकता है.
हस्ताक्षर:
cacheSizeBytes?: number;
FirestoreSettings.experimentalAutoDetectLongPolling
यह SDK टूल के बुनियादी ट्रांसपोर्ट (WebChannel) को कॉन्फ़िगर करता है, ताकि लंबे समय तक चलने वाले पोल का इस्तेमाल अपने-आप किया जा सके. यह काफ़ी हद तक experimentalForceLongPolling
से मिलता-जुलता है, लेकिन ज़रूरत पड़ने पर ही लंबी अवधि वाले पोल का इस्तेमाल किया जाता है.
साल 2019 में शुरू होने के बाद से, false
की डिफ़ॉल्ट वैल्यू मौजूद थी. मई 2023 में, Firebase JavaScript SDK टूल के v9.22.0 वर्शन में इस सेटिंग की डिफ़ॉल्ट वैल्यू को बदलकर true
कर दिया गया था. इसका मतलब है कि लंबी अवधि वाले पोल के लिए, अपने-आप पहचान करने की सुविधा अब डिफ़ॉल्ट रूप से चालू है. इसे बंद करने के लिए, इस सेटिंग को false
पर सेट करें. साथ ही, उन समस्याओं को शेयर करने के लिए GitHub की समस्या खोलें जिनकी वजह से, आपको लंबी पोलिंग से अपने-आप पहचान करने की सुविधा को बंद करने की प्रेरणा मिली थी.
इस सेटिंग का इस्तेमाल Node.js के ज़रिए नहीं किया जा सकता.
हस्ताक्षर:
experimentalAutoDetectLongPolling?: boolean;
FirestoreSettings.experimentalForceLongPolling
SDK टूल के बुनियादी नेटवर्क ट्रांसपोर्ट (WebChannel) को, लंबी पोलिंग का इस्तेमाल करने के लिए मजबूर करता है. बैकएंड से हर जवाब मिलने के तुरंत बाद, इसे बंद कर दिया जाएगा. हालांकि, अगर बैकएंड में ज़्यादा डेटा भेजा जाए, तो डिफ़ॉल्ट तौर पर जवाब डिफ़ॉल्ट रूप से चालू रहते हैं. इससे कुछ प्रॉक्सी, एंटीवायरस सॉफ़्टवेयर वगैरह के साथ असंगत होने की समस्याओं से बचा जा सकता है, जो ट्रैफ़िक को अनिश्चित काल तक गलत तरीके से बफ़र करते हैं. हालांकि, इस विकल्प का इस्तेमाल करने से परफ़ॉर्मेंस में कुछ गिरावट आ सकती है.
इस सेटिंग का इस्तेमाल experimentalAutoDetectLongPolling
के साथ नहीं किया जा सकता. साथ ही, इसे आने वाले समय में रिलीज़ किया जा सकता है. अगर आपको नेटवर्क से जुड़ी किसी खास समस्या पर काम करने के लिए इसका इस्तेमाल करना है, तो कृपया https://github.com/firebase/firebase-js-sdk/issues/1674 में हमें इसके बारे में बताएं.
इस सेटिंग का इस्तेमाल Node.js के ज़रिए नहीं किया जा सकता.
हस्ताक्षर:
experimentalForceLongPolling?: boolean;
FirestoreSettings.expalLongPollingOptions
लंबी पोलिंग का इस्तेमाल करने पर, SDK टूल के नेटवर्क ट्रांसपोर्ट (WebChannel) को कॉन्फ़िगर करने वाले विकल्प.
इन विकल्पों का इस्तेमाल सिर्फ़ तब किया जाता है, जब experimentalForceLongPolling
सही हो या experimentalAutoDetectLongPolling
सही हो. साथ ही, अपने-आप पहचान करने वाले टूल से यह पता चलता हो कि लंबी पोल कराने की ज़रूरत थी. ऐसा न करने पर, इन विकल्पों का कोई असर नहीं पड़ेगा.
हस्ताक्षर:
experimentalLongPollingOptions?: ExperimentalLongPollingOptions;
FirestoreSettings.होस्ट
वह होस्टनेम जिससे कनेक्ट करना है.
हस्ताक्षर:
host?: string;
FirestoreSettings.ignoreUnspecifiedProperties
ऑब्जेक्ट को क्रम में लगाने के दौरान, undefined
पर सेट की गई नेस्ट की गई प्रॉपर्टी को छोड़ना है या नहीं. अगर true
पर सेट है, तो इन प्रॉपर्टी को छोड़ दिया जाता है और Firestore में नहीं लिखा जाता. अगर SDK टूल को false
पर सेट किया जाता है या मिटाया जाता है, तो SDK टूल को undefined
टाइप की प्रॉपर्टी मिलने पर अपवाद दिखता है.
हस्ताक्षर:
ignoreUndefinedProperties?: boolean;
Firestoreसेटिंग.लोकल कैश
SDK टूल में इस्तेमाल की गई कैश मेमोरी के बारे में बताता है. MemoryLocalCache
और PersistentLocalCache
उपलब्ध हैं. हर कॉन्फ़िगरेशन के लिए अलग-अलग विकल्प हैं.
अगर इसके बारे में जानकारी नहीं दी गई है, तो डिफ़ॉल्ट रूप से MemoryLocalCache
का इस्तेमाल किया जाएगा.
ध्यान दें: इस फ़ील्ड और cacheSizeBytes
को एक साथ सेट करने से, SDK टूल शुरू करते समय अपवाद दिखेगा. इसके बजाय, कैश मेमोरी का साइज़ बताने के लिए, FirestoreLocalCache
ऑब्जेक्ट में कॉन्फ़िगरेशन का इस्तेमाल करें.
हस्ताक्षर:
localCache?: FirestoreLocalCache;
FirestoreSettings.एसएसएल
कनेक्ट करते समय एसएसएल का इस्तेमाल करें या नहीं.
हस्ताक्षर:
ssl?: boolean;