Funkcje debugowania
| Nazwa | Opis |
EXISTS
|
Zwraca wartość TRUE (prawda), jeśli wartość nie jest wartością nieobecną
|
IS_ABSENT
|
Zwraca wartość TRUE (prawda), jeśli wartość jest wartością nieobecną
|
IF_ABSENT
|
Zastępuje wartość wyrażeniem, jeśli jest ona nieobecna |
IS_ERROR
|
Przechwytuje i sprawdza, czy wyrażenie bazowe zgłosiło błąd |
IF_ERROR
|
Zastępuje wartość wyrażeniem, jeśli zgłosiło ono błąd |
ERROR
|
Przerywa ocenę i zwraca błąd z określonym komunikatem |
EXISTS
Składnia:
exists(value: ANY) -> BOOLEAN
Opis:
Zwraca wartość TRUE (prawda), jeśli argument value nie jest wartością nieobecną.
Przykłady:
value |
exists(value) |
|---|---|
| 0L | TRUE |
| "foo" | TRUE |
NULL |
TRUE |
ABSENT |
FALSE |
Node.js
const result = await db.pipeline() .collection("books") .select(field("rating").exists().as("hasRating")) .execute();
Web
Przykład:
const result = await execute(db.pipeline() .collection("books") .select(field("rating").exists().as("hasRating")) );
Swift
let result = try await db.pipeline() .collection("books") .select([Field("rating").exists().as("hasRating")]) .execute()
Kotlin
Przykład:
val result = db.pipeline() .collection("books") .select(field("rating").exists().alias("hasRating")) .execute()
Java
Przykład:
Task<Pipeline.Snapshot> result = db.pipeline() .collection("books") .select(field("rating").exists().alias("hasRating")) .execute();
Python
from google.cloud.firestore_v1.pipeline_expressions import Field result = ( client.pipeline() .collection("books") .select(Field.of("rating").exists().as_("hasRating")) .execute() )
Java
Pipeline.Snapshot result = firestore .pipeline() .collection("books") .select(exists(field("rating")).as("hasRating")) .execute() .get();
Go
snapshot := client.Pipeline(). Collection("books"). Select(firestore.Fields( firestore.FieldExists(firestore.FieldOf("rating")).As("hasRating"), )). Execute(ctx)
IS_ABSENT
Składnia:
is_absent(value: ANY) -> BOOLEAN
Opis:
Zwraca wartość TRUE (prawda), jeśli argument value jest wartością nieobecną, a w przeciwnym razie zwraca wartość FALSE (fałsz). Wartości nieobecne to wartości, których brakuje w danych wejściowych, np. brakujące pole dokumentu.
Przykłady:
value |
is_absent(value) |
|---|---|
| 0L | FALSE |
| "foo" | FALSE |
NULL |
FALSE |
ABSENT |
TRUE |
IF_ABSENT
Składnia:
if_absent(value: ANY, replacement: ANY) -> ANY
Opis:
Jeśli argument value jest wartością nieobecną, funkcja ocenia i zwraca argument replacement. W przeciwnym razie zwraca argument value.
Przykłady:
value |
replacement |
if_absent(value, replacement) |
|---|---|---|
| 5L | 0L | 5L |
NULL |
0L | NULL |
ABSENT |
0L | 0L |
IS_ERROR
Składnia:
is_error(try: ANY) -> BOOLEAN
Opis:
Zwraca wartość TRUE (prawda), jeśli podczas oceny argumentu try wystąpi błąd. W przeciwnym razie zwraca wartość FALSE (fałsz).
IF_ERROR
Składnia:
if_error(try: ANY, catch: ANY) -> ANY
Opis:
Jeśli podczas oceny argumentu try wystąpi błąd, funkcja ocenia i zwraca argument replacement. W przeciwnym razie zwraca rozwiązaną wartość argumentu try.
ERROR
Składnia:
error(message: STRING) -> ANY
Opis:
Ocena funkcji error powoduje przerwanie oceny potoku z błędem. Podany argument message jest uwzględniany w błędzie.
Przykłady:
cond |
res |
switch_on(cond, res, error("no condition matched")) |
|---|---|---|
TRUE |
1L | 1L |
FALSE |
1L | ERROR ("no condition matched") |