Fungsi referensi

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