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

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

הסוג 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 אם ההפניה היא כבר הפניה ברמה הבסיסית (root).

לדוגמה:

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