ऐसे डेटा टाइप जिनके साथ PostgreSQL कनेक्टर काम करता है

इस पेज पर, उन डेटा टाइप के बारे में बताया गया है जिनका इस्तेमाल Cloud Firestore में किया जा सकता है.

डेटा टाइप

यहां दी गई टेबल में, Cloud Firestore के साथ काम करने वाले डेटा टाइप की सूची दी गई है. इसमें एक ही टाइप की वैल्यू की तुलना करते समय इस्तेमाल किए जाने वाले क्रम के बारे में भी बताया गया है:

डेटा टाइप ऑर्डर को क्रम से लगाएं नोट
32-बिट पूर्णांक अंक

32-बिट, साइन किया गया

ध्यान दें: यह सुविधा सिर्फ़ Enterprise वर्शन में उपलब्ध है.

64-बिट पूर्णांक अंक 64-बिट, साइन किया गया
सरणी एलिमेंट की वैल्यू के हिसाब से

स्टैंडर्ड वर्शन के डेटाबेस में, किसी कलेक्शन में दूसरे कलेक्शन की वैल्यू को उसके एलिमेंट के तौर पर शामिल नहीं किया जा सकता. Enterprise वर्शन के डेटाबेस में, किसी अरे में अरे वैल्यू को उसके एलिमेंट के तौर पर शामिल किया जा सकता है.

किसी कलेक्शन में, एलिमेंट अपनी असाइन की गई पोज़िशन को बनाए रखते हैं. दो या उससे ज़्यादा ऐरे को क्रम से लगाते समय, ऐरे को उनके एलिमेंट की वैल्यू के आधार पर क्रम से लगाया जाता है.

दो ऐरे की तुलना करते समय, हर ऐरे के पहले एलिमेंट की तुलना की जाती है. अगर पहले एलिमेंट बराबर हैं, तो दूसरे एलिमेंट की तुलना की जाती है. यह तब तक जारी रहता है, जब तक कि कोई अंतर न मिल जाए. अगर किसी अरे में तुलना करने के लिए एलिमेंट खत्म हो जाते हैं, लेकिन वह उस पॉइंट तक बराबर है, तो छोटे अरे को लंबे अरे से पहले क्रम में लगाया जाता है.

उदाहरण के लिए, [1, 2, 3] < [1, 2, 3, 1] < [2]. अरे [2] में पहले एलिमेंट की वैल्यू सबसे ज़्यादा है. अरे [1, 2, 3] में मौजूद एलिमेंट, [1, 2, 3, 1] के पहले तीन एलिमेंट के बराबर हैं. हालांकि, इसकी लंबाई कम है.

बूलियन false < true —
BSON टाइमस्टैंप समय के हिसाब से

64-बिट की टाइमस्टैंप वैल्यू, जिसमें Unix सेकंड और इंक्रीमेंट काउंटर शामिल है.

ध्यान दें: यह सुविधा सिर्फ़ Enterprise वर्शन में उपलब्ध है.

बाइट बाइट ऑर्डर स्टैंडर्ड वर्शन के डेटाबेस में, वैल्यू 10,48,487 बाइट (1 एमआईबी - 89 बाइट) से ज़्यादा नहीं होनी चाहिए. साथ ही, क्वेरी में सिर्फ़ पहले 1,500 बाइट को शामिल किया जाता है. Enterprise वर्शन के डेटाबेस में, वैल्यू के साइज़ पर कोई सीमा नहीं होती है. हालांकि, दस्तावेज़ और इंडेक्स के रिकॉर्ड के साइज़ पर सीमाएं लागू होती हैं. साथ ही, क्वेरी में पूरी वैल्यू को शामिल किया जाता है.
सबटाइप के साथ बाइट बाइट का क्रम (सबटाइप, फिर वैल्यू)

BSON सब-टाइप इंडिकेटर के साथ बाइनरी बाइट सीक्वेंस.

ध्यान दें: यह सुविधा सिर्फ़ Enterprise वर्शन में उपलब्ध है.

तारीख और समय समय के हिसाब से Cloud Firestore में सेव किए जाने पर, सिर्फ़ माइक्रोसेकंड तक की सटीक जानकारी मिलती है. इससे ज़्यादा सटीक जानकारी को राउंड डाउन कर दिया जाता है.
Decimal128 अंक

ज़्यादा सटीक अंकगणित के लिए, 128-बिट दशमलव फ़्लोटिंग-पॉइंट नंबर.

ध्यान दें: यह सुविधा सिर्फ़ Enterprise वर्शन में उपलब्ध है.

फ़्लोटिंग-पॉइंट नंबर अंक IEEE 754 के मुताबिक 64-बिट डबल प्रिसिज़न, जिसमें (नॉर्मलाइज़्ड) NaN और +/-Infinity शामिल हैं.
भौगोलिक पॉइंट पहले अक्षांश और फिर देशांतर दूरी के आधार पर खोजने के लिए, जियोस्पेशल सर्च देखें.
मैप कुंजी के हिसाब से, फिर वैल्यू के हिसाब से

यह किसी दस्तावेज़ में एम्बेड किए गए ऑब्जेक्ट को दिखाता है. इंडेक्स होने के बाद, सबफ़ील्ड पर क्वेरी की जा सकती है. अगर इस वैल्यू को इंडेक्स करने से बाहर रखा जाता है, तो सभी सबफ़ील्ड को भी इंडेक्स करने से बाहर रखा जाता है.

कुंजियों को हमेशा क्रम से लगाया जाता है. उदाहरण के लिए, अगर आपने {c: "foo", a: "bar", b: "qux"} लिखा है, तो मैप को कुंजी के हिसाब से क्रम में लगाया जाता है और {a: "bar", b: "qux", c: "foo"} के तौर पर सेव किया जाता है.

मैप फ़ील्ड को कुंजी के हिसाब से क्रम में लगाया जाता है और कुंजी-वैल्यू पेयर के हिसाब से तुलना की जाती है. पहले कुंजियों की तुलना की जाती है और फिर वैल्यू की. अगर पहले की-वैल्यू पेयर बराबर हैं, तो अगले की-वैल्यू पेयर की तुलना की जाती है. यह तब तक जारी रहता है, जब तक कोई अंतर नहीं मिल जाता. अगर दो मैप में सभी की-वैल्यू पेयर एक जैसे हैं, तो मैप की लंबाई को ध्यान में रखा जाता है. उदाहरण के लिए, यहां दिए गए मैप बढ़ते क्रम में हैं:

{a: "aaa", b: "baz"}
{a: "foo", b: "bar"}
{a: "foo", b: "bar", c: "qux"}
{a: "foo", b: "baz"}
{b: "aaa", c: "baz"}
{c: "aaa"}

मैक्स की कोई नहीं

खास वैल्यू, जो अन्य सभी वैल्यू से ज़्यादा होती है.

ध्यान दें: यह सुविधा सिर्फ़ Enterprise वर्शन में उपलब्ध है.

कम से कम कुंजी कोई नहीं

यह एक खास वैल्यू है, जो अन्य सभी वैल्यू (null को छोड़कर) से कम होती है.

ध्यान दें: यह सुविधा सिर्फ़ Enterprise वर्शन में उपलब्ध है.

शून्य कोई नहीं —
ObjectId बाइट ऑर्डर

12 बाइट का ऑब्जेक्ट आइडेंटिफ़ायर.

ध्यान दें: यह सुविधा सिर्फ़ Enterprise वर्शन में उपलब्ध है.

संदर्भ पाथ एलिमेंट (कलेक्शन, दस्तावेज़ आईडी, कलेक्शन, दस्तावेज़ आईडी...) के हिसाब से उदाहरण के लिए, projects/[PROJECT_ID]/databases/[DATABASE_ID]/documents/[DOCUMENT_PATH].
रेगुलर एक्सप्रेशन पहले पैटर्न और फिर विकल्पों के हिसाब से

रेगुलर एक्सप्रेशन पैटर्न और विकल्प.

ध्यान दें: यह सुविधा सिर्फ़ Enterprise वर्शन में उपलब्ध है.

टेक्स्ट स्ट्रिंग UTF-8 कोड में बदला गया बाइट ऑर्डर स्टैंडर्ड वर्शन के डेटाबेस में, वैल्यू 10,48,487 बाइट (1 एमआईबी - 89 बाइट) से ज़्यादा नहीं होनी चाहिए. साथ ही, क्वेरी में सिर्फ़ पहले 1,500 बाइट को शामिल किया जाता है. Enterprise वर्शन के डेटाबेस में, वैल्यू के साइज़ पर कोई सीमा नहीं होती है. हालांकि, दस्तावेज़ और इंडेक्स के रिकॉर्ड के साइज़ पर सीमाएं लागू होती हैं. साथ ही, क्वेरी में पूरी वैल्यू को शामिल किया जाता है.
वेक्टर डाइमेंशन और फिर हर एलिमेंट की वैल्यू के हिसाब से ज़्यादा से ज़्यादा 2048 एंबेडिंग डाइमेंशन इस्तेमाल किए जा सकते हैं. ज़्यादा डाइमेंशन वाले वेक्टर को स्टोर करने के लिए, डाइमेंशन कम करने की सुविधा का इस्तेमाल करें.

वैल्यू टाइप का क्रम

जब किसी क्वेरी में अलग-अलग तरह की वैल्यू वाला फ़ील्ड शामिल होता है, तब Cloud Firestore इंटरनल रिप्रज़ेंटेशन के आधार पर, डिटरमिनिस्टिक ऑर्डर का इस्तेमाल करता है. यहां दी गई सूची में, इस क्रम के बारे में बताया गया है:

  1. शून्य वैल्यू
  2. कुंजी की कम से कम वैल्यू (सिर्फ़ Enterprise वर्शन के लिए)
  3. बूलियन वैल्यू
  4. 64-बिट पूर्णांक और फ़्लोटिंग-पॉइंट वैल्यू, जिन्हें संख्या के क्रम में लगाया गया है. Enterprise वर्शन के डेटाबेस में, 32-बिट इंटिजर और Decimal128 वैल्यू भी शामिल होती हैं.
  5. तारीख की वैल्यू
  6. टेक्स्ट स्ट्रिंग वैल्यू
  7. बाइट वैल्यू. Enterprise वर्शन में, सब-टाइप वैल्यू वाले बाइट भी शामिल होते हैं.
  8. Cloud Firestore रेफ़रंस
  9. ObjectId की वैल्यू (सिर्फ़ Enterprise वर्शन के लिए)
  10. भौगोलिक पॉइंट वैल्यू
  11. रेगुलर एक्सप्रेशन (सिर्फ़ Enterprise वर्शन के लिए)
  12. ऐरे वैल्यू
  13. वेक्टर एंबेडिंग
  14. वैल्यू मैप करना
  15. कुंजी की वैल्यू की ज़्यादा से ज़्यादा संख्या (सिर्फ़ Enterprise वर्शन के लिए)

संख्या के क्रम में

Cloud Firestore, सभी न्यूमेरिक वैल्यू (Integer और Floating point) को एक-दूसरे के साथ इंटरलीव करके क्रम से लगाता है. फ़्लोटिंग पॉइंट की तुलना, IEEE 754 के कुल क्रम के हिसाब से की जाती है. हालांकि, इसमें एक खास अपवाद है कि Cloud Firestore, सभी NaN वैल्यू को सामान्य बनाता है और इसे -Infinity से कम मानता है.