Funciones de depuración

Funciones de depuración

Nombre Descripción
EXISTS Devuelve TRUE si el valor no es un valor ausente.
IS_ABSENT Devuelve TRUE si el valor es un valor ausente.
IF_ABSENT Reemplaza el valor por una expresión si no está presente.
IS_ERROR Captura y verifica si la expresión subyacente arrojó un error.
IF_ERROR Reemplaza el valor por una expresión si generó un error.

EXISTS

Sintaxis:

exists(value: ANY) -> BOOLEAN

Descripción:

Devuelve TRUE si value no es el valor ausente.

Ejemplos:

value exists(value)
0L TRUE
"foo" TRUE
NULL TRUE
ABSENT FALSE
Node.js

Ejemplo:

const results = await db.pipeline()
  .collection("customers")
  .select(exists(Field.of("orders")))
  .execute();
    

Web

Ejemplo:

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

Ejemplo:

val result = db.pipeline()
    .collection("books")
    .select(field("rating").exists().alias("hasRating"))
    .execute()

Java

Ejemplo:

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

Sintaxis:

is_absent(value: ANY) -> BOOLEAN

Descripción:

Devuelve TRUE si value es el valor ausente; de lo contrario, devuelve FALSE. Los valores ausentes son los que faltan en la entrada, como un campo de documento faltante.

Ejemplos:

value is_absent(value)
0L FALSE
"foo" FALSE
NULL FALSE
ABSENT TRUE

IF_ABSENT

Sintaxis:

if_absent(value: ANY, replacement: ANY) -> ANY

Descripción:

Si value es un valor ausente, evalúa y devuelve replacement. De lo contrario, muestra value.

Ejemplos:

value replacement if_absent(value, replacement)
5L 0L 5L
NULL 0L NULL
ABSENT 0L 0L

IS_ERROR

Sintaxis:

is_error(try: ANY) -> BOOLEAN

Descripción:

Devuelve TRUE si se produce un error durante la evaluación de try. De lo contrario, devuelve FALSE.

IF_ERROR

Sintaxis:

if_error(try: ANY, catch: ANY) -> ANY

Descripción:

Si se produce un error durante la evaluación de try, evalúa y devuelve replacement. De lo contrario, devuelve el valor resuelto de try.