Отладочные функции

Функции отладки

Имя Описание
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
Node.js

Пример:

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 .