Fungsi Referensi
Jenis REFERENCE bertindak sebagai "penunjuk" ke dokumen lain dalam database (atau
bahkan database lain). Fungsi berikut memungkinkan manipulasi jenis ini
selama eksekusi kueri.
| Nama | Deskripsi |
COLLECTION_ID
|
Menampilkan ID koleksi leaf dalam referensi yang diberikan |
DOCUMENT_ID
|
Menampilkan ID dokumen dalam referensi yang diberikan |
PARENT
|
Menampilkan referensi induk |
REFERENCE_SLICE
|
Menampilkan subset segmen dari referensi yang diberikan |
COLLECTION_ID
Sintaksis:
collection_id(ref: REFERENCE) -> STRING
Deskripsi:
Menampilkan ID koleksi leaf dari REFERENCE yang diberikan.
Contoh:
ref |
collection_id(ref) |
|---|---|
users/user1 |
"users" |
users/user1/posts/post1 |
"posts" |
DOCUMENT_ID
Sintaksis:
document_id(ref: REFERENCE) -> ANY
Deskripsi:
Menampilkan ID dokumen dari REFERENCE yang diberikan.
Contoh:
ref |
document_id(ref) |
|---|---|
users/user1 |
"user1" |
users/user1/posts/post1 |
"post1" |
PARENT
Sintaksis:
parent(ref: REFERENCE) -> REFERENCE
Deskripsi:
Menampilkan REFERENCE induk dari referensi yang diberikan atau NULL jika ref
sudah menjadi referensi root.
Contoh:
ref |
parent(ref) |
|---|---|
/ |
NULL |
users/user1 |
/ |
users/user1/posts/post1 |
users/user1 |
REFERENCE_SLICE
Sintaksis:
reference_slice(ref: REFERENCE, offset: INT, length: INT) -> REFERENCE
Deskripsi:
REFERENCE adalah daftar tuple (collection_id, document_id) dan fungsi ini membuat
tampilan daftar tersebut dapat ditampilkan, seperti array_slice(...).
Menampilkan REFERENCE baru yang merupakan subset dari segmen ref yang diberikan.
offset: Indeks awal (berbasis 0) dari slice. Jika negatif, nilai ini adalah offset dari akhir referensi.length: Jumlah segmen yang akan disertakan dalam slice.
Contoh:
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 |