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