פונקציות של הפניה

פונקציות של הפניה

הסוג 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(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