פונקציות של הפניות
הסוג 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 |