Funkcje odwołania

Funkcje odwołania

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

Nazwa Opis
COLLECTION_ID Zwraca identyfikator kolekcji końcowej w podanym odwołaniu.
DOCUMENT_ID Zwraca identyfikator dokumentu w danym odwołaniu.
PARENT Zwraca odwołanie do elementu nadrzędnego.
REFERENCE_SLICE Zwraca podzbiór segmentów z podanego odniesienia.

COLLECTION_ID

Składnia:

collection_id(ref: REFERENCE) -> STRING

Opis:

Zwraca identyfikator kolekcji liści podanego 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 podanego 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 nadrzędny REFERENCE danego odwołania lub 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 (collection_id, document_id) krotek, która umożliwia wyświetlanie tej listy, podobnie jak array_slice(...).

Zwraca nowy obiekt REFERENCE, który jest podzbiorem segmentów danego obiektu ref.

  • offset: indeks początkowy (od 0) wycinka. Jeśli jest ujemna, jest to przesunięcie od końca odniesienia.
  • 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