इस पेज पर, उन डेटा टाइप के बारे में बताया गया है जिनका इस्तेमाल Cloud Firestore में किया जा सकता है.
डेटा टाइप
यहां दी गई टेबल में, Cloud Firestore के साथ काम करने वाले डेटा टाइप की सूची दी गई है. इसमें एक ही टाइप की वैल्यू की तुलना करते समय इस्तेमाल किए जाने वाले क्रम के बारे में भी बताया गया है:
| डेटा टाइप | ऑर्डर को क्रम से लगाएं | नोट |
|---|---|---|
| सरणी | एलिमेंट की वैल्यू के हिसाब से |
स्टैंडर्ड वर्शन के डेटाबेस में, किसी कलेक्शन में दूसरे कलेक्शन की वैल्यू को एलिमेंट के तौर पर शामिल नहीं किया जा सकता. Enterprise वर्शन के डेटाबेस में, किसी अरे में अरे वैल्यू को उसके एलिमेंट के तौर पर शामिल किया जा सकता है. किसी कलेक्शन में, एलिमेंट अपनी असाइन की गई पोज़िशन को बनाए रखते हैं. दो या उससे ज़्यादा ऐरे को क्रम से लगाते समय, ऐरे को उनके एलिमेंट की वैल्यू के आधार पर क्रम से लगाया जाता है. दो कलेक्शन की तुलना करते समय, हर कलेक्शन के पहले एलिमेंट की तुलना की जाती है. अगर पहले एलिमेंट बराबर हैं, तो दूसरे एलिमेंट की तुलना की जाती है. ऐसा तब तक किया जाता है, जब तक कोई अंतर न मिल जाए. अगर किसी कलेक्शन में तुलना करने के लिए एलिमेंट खत्म हो जाते हैं, लेकिन वह उस पॉइंट तक बराबर है, तो छोटे कलेक्शन को बड़े कलेक्शन से पहले क्रम में लगाया जाता है. उदाहरण के लिए, |
| बूलियन | false < true |
— |
| बाइट | बाइट ऑर्डर | स्टैंडर्ड वर्शन के डेटाबेस में, वैल्यू 10,48,487 बाइट (1 एमआईबी - 89 बाइट) से ज़्यादा नहीं होनी चाहिए. साथ ही, क्वेरी में सिर्फ़ पहले 1,500 बाइट को शामिल किया जाता है. Enterprise वर्शन के डेटाबेस में, वैल्यू के साइज़ पर कोई सीमा नहीं होती है. हालांकि, दस्तावेज़ और इंडेक्स एंट्री के साइज़ की सीमाएं लागू होती हैं. साथ ही, क्वेरी में पूरी वैल्यू को ध्यान में रखा जाता है. |
| तारीख और समय | समय के हिसाब से | Cloud Firestore में सेव किए जाने पर, सिर्फ़ माइक्रोसेकंड तक की सटीक जानकारी मिलती है. इससे ज़्यादा सटीक जानकारी को राउंड डाउन कर दिया जाता है. |
| फ़्लोटिंग-पॉइंट नंबर | अंक | IEEE 754 के मुताबिक 64-बिट डबल प्रिसिज़न, जिसमें (नॉर्मलाइज़्ड) NaN और +/-Infinity शामिल हैं. |
| भौगोलिक पॉइंट | पहले अक्षांश और फिर देशांतर | दूरी के आधार पर खोजने के लिए, जियोस्पेशल सर्च देखें. |
| पूर्णांक | अंक | 64-बिट, साइन किया गया |
| मैप | कुंजी के हिसाब से, फिर वैल्यू के हिसाब से | यह किसी दस्तावेज़ में एम्बेड किए गए ऑब्जेक्ट को दिखाता है. इंडेक्स किए जाने पर, सबफ़ील्ड पर क्वेरी की जा सकती है. अगर इस वैल्यू को इंडेक्स करने से बाहर रखा जाता है, तो सभी सबफ़ील्ड को भी इंडेक्स करने से बाहर रखा जाता है.
कुंजियों को हमेशा क्रम से लगाया जाता है. उदाहरण के लिए, अगर आपने मैप फ़ील्ड को कुंजी के हिसाब से क्रम में लगाया जाता है और कुंजी-वैल्यू पेयर के हिसाब से तुलना की जाती है. पहले कुंजियों की तुलना की जाती है और फिर वैल्यू की. अगर पहले की-वैल्यू पेयर बराबर हैं, तो अगले की-वैल्यू पेयर की तुलना की जाती है. इसी तरह, आगे भी तुलना की जाती है. अगर दो मैप में सभी की-वैल्यू पेयर एक जैसे हैं, तो मैप की लंबाई को ध्यान में रखा जाता है. उदाहरण के लिए, यहां दिए गए मैप बढ़ते क्रम में हैं:
|
| शून्य | कोई नहीं | — |
| संदर्भ | पाथ एलिमेंट के हिसाब से (कलेक्शन, दस्तावेज़ आईडी, कलेक्शन, दस्तावेज़ आईडी...) | उदाहरण के लिए,
projects/[PROJECT_ID]/databases/[DATABASE_ID]/documents/[DOCUMENT_PATH]. |
| टेक्स्ट स्ट्रिंग | UTF-8 कोड में बदला गया बाइट ऑर्डर | स्टैंडर्ड वर्शन के डेटाबेस में, वैल्यू 10,48,487 बाइट (1 एमआईबी - 89 बाइट) से ज़्यादा नहीं होनी चाहिए. साथ ही, क्वेरी में सिर्फ़ पहले 1,500 बाइट को शामिल किया जाता है. Enterprise वर्शन के डेटाबेस में, वैल्यू के साइज़ पर कोई सीमा नहीं होती है. हालांकि, दस्तावेज़ और इंडेक्स एंट्री के साइज़ की सीमाएं लागू होती हैं. साथ ही, क्वेरी में पूरी वैल्यू को ध्यान में रखा जाता है. |
| वेक्टर | डाइमेंशन और फिर हर एलिमेंट की वैल्यू के हिसाब से | ज़्यादा से ज़्यादा 2048 एंबेडिंग डाइमेंशन इस्तेमाल किए जा सकते हैं. ज़्यादा डाइमेंशन वाले वेक्टर को स्टोर करने के लिए, डाइमेंशन कम करने की सुविधा का इस्तेमाल करें. |
वैल्यू टाइप का क्रम
जब किसी क्वेरी में अलग-अलग तरह की वैल्यू वाला फ़ील्ड शामिल होता है, तब Cloud Firestore इंटरनल रिप्रज़ेंटेशन के आधार पर डिटरमिनिस्टिक ऑर्डर का इस्तेमाल करता है. यहां दी गई सूची में, क्रम दिखाया गया है:
- शून्य वैल्यू
- बूलियन वैल्यू
- पूर्णांक और फ़्लोटिंग-पॉइंट वैल्यू, अंकों के क्रम में लगाई जाती हैं
- तारीख की वैल्यू
- टेक्स्ट स्ट्रिंग वैल्यू
- बाइट वैल्यू
- Cloud Firestore रेफ़रंस
- भौगोलिक पॉइंट वैल्यू
- ऐरे वैल्यू
- वेक्टर एंबेडिंग
- वैल्यू मैप करना
संख्या के क्रम में
Cloud Firestore, सभी न्यूमेरिक वैल्यू (Integer और Floating point) को क्रम से लगाता है. ये वैल्यू एक-दूसरे के साथ इंटरलीव की जाती हैं. फ़्लोटिंग पॉइंट की तुलना, IEEE 754 के कुल क्रम के हिसाब से की जाती है. हालांकि, इसमें एक खास अपवाद है कि Cloud Firestore सभी NaN वैल्यू को सामान्य बनाता है और इसे -Infinity से कम मानता है.