Referenz zu Referenzfunktionen
Referenzfunktionen
Der Typ REFERENCE fungiert als „Zeiger“ auf andere Dokumente in der Datenbank (oder sogar in anderen Datenbanken). Mit den folgenden Funktionen können Sie diesen Typ während der Abfrageausführung bearbeiten.
| Name | Beschreibung |
COLLECTION_ID
|
Gibt die ID der Blatt-Collection in der angegebenen Referenz zurück |
DOCUMENT_ID
|
Gibt die ID des Dokuments in der angegebenen Referenz zurück |
PARENT
|
Gibt die übergeordnete Referenz zurück |
REFERENCE_SLICE
|
Gibt eine Teilmenge von Segmenten aus der angegebenen Referenz zurück |
COLLECTION_ID
Syntax:
collection_id(ref: REFERENCE) -> STRING
Beschreibung:
Gibt die Blatt-Collection-ID der angegebenen REFERENCE zurück.
Beispiele:
ref |
collection_id(ref) |
|---|---|
users/user1 |
"users" |
users/user1/posts/post1 |
"posts" |
DOCUMENT_ID
Syntax:
document_id(ref: REFERENCE) -> ANY
Beschreibung:
Gibt die Dokument-ID der angegebenen REFERENCE zurück.
Beispiele:
ref |
document_id(ref) |
|---|---|
users/user1 |
"user1" |
users/user1/posts/post1 |
"post1" |
PARENT
Syntax:
parent(ref: REFERENCE) -> REFERENCE
Beschreibung:
Gibt die übergeordnete REFERENCE der angegebenen Referenz oder NULL zurück, wenn die Referenz bereits eine Stammreferenz ist.
Beispiele:
ref |
parent(ref) |
|---|---|
/ |
NULL |
users/user1 |
/ |
users/user1/posts/post1 |
users/user1 |
REFERENCE_SLICE
Syntax:
reference_slice(ref: REFERENCE, offset: INT, length: INT) -> REFERENCE
Beschreibung:
Eine REFERENCE ist eine Liste von (collection_id, document_id)-Tupeln. Mit dieser Funktion können Sie eine Ansicht dieser Liste abrufen, genau wie mit array_slice(...).
Gibt eine neue REFERENCE zurück, die eine Teilmenge der Segmente der angegebenen ref ist.
offset: Der Startindex (0-basiert) des Slice. Wenn er negativ ist, ist er ein Offset vom Ende der Referenz.length: Die Anzahl der Segmente, die im Slice enthalten sein sollen.
Beispiele:
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 |
Nächste Schritte
- Übersicht über Pipelineabfragen ansehen