Funkcje odwołania

Funkcje odwołań

Typ REFERENCE działa jak „wskaźnik” do innych dokumentów w bazie danych (a nawet w innych bazach danych). Te funkcje umożliwiają manipulowanie tym typem podczas wykonywania zapytań.

Nazwa Opis
COLLECTION_ID Zwraca identyfikator kolekcji liści w danym odwołaniu.
DOCUMENT_ID Zwraca identyfikator dokumentu w danym odwołaniu.
PARENT Zwraca odwołanie nadrzędne.
REFERENCE_SLICE Zwraca podzbiór segmentów z danego odwołania.

COLLECTION_ID

Składnia:

collection_id(ref: REFERENCE) -> STRING

Opis:

Zwraca identyfikator kolekcji liści danego elementu REFERENCE.

Przykłady:

ref collection_id(ref)
users/user1 "users"
users/user1/posts/post1 "posts"

DOCUMENT_ID

Składnia:

document_id(ref: REFERENCE) -> ANY

Opis:

Zwraca identyfikator dokumentu danego elementu REFERENCE.

Przykłady:

ref document_id(ref)
users/user1 "user1"
users/user1/posts/post1 "post1"

PARENT

Składnia:

parent(ref: REFERENCE) -> REFERENCE

Opis:

Zwraca element REFERENCE nadrzędny w stosunku do danego odwołania lub wartość NULL, jeśli odwołanie jest już odwołaniem głównym.

Przykłady:

ref parent(ref)
/ NULL
users/user1 /
users/user1/posts/post1 users/user1

REFERENCE_SLICE

Składnia:

reference_slice(ref: REFERENCE, offset: INT, length: INT) -> REFERENCE

Opis:

REFERENCE to lista krotek (collection_id, document_id), która umożliwia wyświetlanie tej listy, podobnie jak array_slice(...).

Zwraca nowy element REFERENCE, który jest podzbiorem segmentów danego elementu ref.

  • offset: indeks początkowy (liczony od 0) wycinka. Jeśli jest ujemny, jest to przesunięcie od końca odwołania.
  • length: liczba segmentów do uwzględnienia w wycinku.

Przykłady:

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