參照函式
REFERENCE 類型會做為資料庫中其他文件 (甚至是其他資料庫) 的「指標」。您可以在查詢執行期間使用下列函式操控這類資料。
| 名稱 | 說明 |
COLLECTION_ID
|
傳回指定參照中的葉子集合 ID |
DOCUMENT_ID
|
傳回指定參照中的文件 ID |
PARENT
|
傳回父項參照 |
REFERENCE_SLICE
|
從指定參照傳回部分區隔 |
COLLECTION_ID
語法:
collection_id(ref: REFERENCE) -> STRING
說明:
傳回指定 REFERENCE 的葉子集合 ID。
範例:
ref |
collection_id(ref) |
|---|---|
users/user1 |
"users" |
users/user1/posts/post1 |
"posts" |
DOCUMENT_ID
語法:
document_id(ref: REFERENCE) -> ANY
說明:
傳回指定 REFERENCE 的文件 ID。
範例:
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 |