Функции отладки
| Имя | Описание |
EXISTS | Возвращает TRUE если значение не является отсутствующим. |
IS_ABSENT | Возвращает TRUE если значение отсутствует. |
IF_ABSENT | Заменяет значение выражением, если оно отсутствует. |
IS_ERROR | Перехватывает и проверяет, была ли сгенерирована ошибка базовым выражением. |
IF_ERROR | Заменяет значение выражением, если возникла ошибка. |
СУЩЕСТВУЕТ
Синтаксис:
exists(value: ANY) -> BOOLEAN
Описание:
Возвращает TRUE если value не совпадает с отсутствующим значением.
Примеры:
value | exists(value) |
|---|---|
| 0 л | TRUE |
| "фу" | TRUE |
NULL | TRUE |
ABSENT | FALSE |
Пример:
const results = await db.pipeline() .collection("customers") .select(exists(Field.of("orders"))) .execute();
Web
Пример:
const result = await execute(db.pipeline() .collection("books") .select(field("rating").exists().as("hasRating")) );
Быстрый
let result = try await db.pipeline() .collection("books") .select([Field("rating").exists().as("hasRating")]) .execute()
Kotlin
Пример:
val result = db.pipeline() .collection("books") .select(field("rating").exists().alias("hasRating")) .execute()
Java
Пример:
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() )
IS_ABSENT
Синтаксис:
is_absent(value: ANY) -> BOOLEAN
Описание:
Возвращает TRUE если value отсутствует, и FALSE в противном случае. Отсутствующие значения — это значения, которые отсутствуют во входных данных, например, отсутствует поле документа.
Примеры:
value | is_absent(value) |
|---|---|
| 0 л | FALSE |
| "фу" | FALSE |
NULL | FALSE |
ABSENT | TRUE |
ЕСЛИ_ОТСУТСТВУЕТ
Синтаксис:
if_absent(value: ANY, replacement: ANY) -> ANY
Описание:
Если value отсутствует, выполняется вычисление и возвращается replacement . В противном случае возвращается value .
Примеры:
value | replacement | if_absent(value, replacement) |
|---|---|---|
| 5 л | 0 л | 5 л |
NULL | 0 л | NULL |
ABSENT | 0 л | 0 л |
IS_ERROR
Синтаксис:
is_error(try: ANY) -> BOOLEAN
Описание:
Возвращает TRUE , если во время выполнения конструкции try возникает ошибка. В противном случае возвращает FALSE .
IF_ERROR
Синтаксис:
if_error(try: ANY, catch: ANY) -> ANY
Описание:
Если во время вычисления конструкции try возникает ошибка, выполняется вычисление и возвращается replacement . В противном случае возвращается полученное значение конструкции try .