रेफ़रंस फ़ंक्शन

रेफ़रंस के फ़ंक्शन

REFERENCE टाइप, डेटाबेस (या दूसरे डेटाबेस) में मौजूद अन्य दस्तावेज़ों के लिए "पॉइंटर" के तौर पर काम करता है. क्वेरी को लागू करने के दौरान, ये फ़ंक्शन इस टाइप में बदलाव करने की अनुमति देते हैं.

नाम ब्यौरा
COLLECTION_ID दिए गए रेफ़रंस में, लीफ़ कलेक्शन का आईडी दिखाता है
DOCUMENT_ID दिए गए रेफ़रंस में, दस्तावेज़ का आईडी दिखाता है
PARENT पेरंट रेफ़रंस दिखाता है
REFERENCE_SLICE दिए गए रेफ़रंस से, सेगमेंट का सबसेट दिखाता है

COLLECTION_ID

सिंटैक्स:

collection_id(ref: REFERENCE) -> STRING

ब्यौरा:

दिए गए REFERENCE का लीफ़ कलेक्शन आईडी दिखाता है.

उदाहरण:

ref collection_id(ref)
users/user1 "users"
users/user1/posts/post1 "posts"

DOCUMENT_ID

सिंटैक्स:

document_id(ref: REFERENCE) -> ANY

ब्यौरा:

दिए गए REFERENCE का दस्तावेज़ आईडी दिखाता है.

उदाहरण:

ref document_id(ref)
users/user1 "user1"
users/user1/posts/post1 "post1"

PARENT

सिंटैक्स:

parent(ref: REFERENCE) -> REFERENCE

ब्यौरा:

दिए गए रेफ़रंस का पेरंट REFERENCE दिखाता है. अगर रेफ़रंस पहले से ही रूट रेफ़रंस है, तो NULL दिखाता है.

उदाहरण:

ref parent(ref)
/ NULL
users/user1 /
users/user1/posts/post1 users/user1

REFERENCE_SLICE

सिंटैक्स:

reference_slice(ref: REFERENCE, offset: INT, length: INT) -> REFERENCE

ब्यौरा:

REFERENCE, (collection_id, document_id) टपल की सूची होती है. इससे, उस सूची का व्यू मिलता है. यह ठीक वैसे ही काम करता है जैसे array_slice(...) करता है.

नया REFERENCE दिखाता है, जो दिए गए ref के सेगमेंट का सबसेट होता है.

  • offset: स्लाइस का शुरुआती इंडेक्स (0 पर आधारित). अगर यह नेगेटिव है, तो यह रेफ़रंस के आखिर से ऑफ़सेट होता है.
  • length: स्लाइस में शामिल करने के लिए सेगमेंट की संख्या.

उदाहरण:

ref offset length reference_slice(ref, offset, length)
a/1/b/2/c/3 1L 2L b/2/c/3
a/1/b/2/c/3 0L 2L a/1/b/2
a/1/b/2/c/3 -2L 2L c/3