Debugging Functions Reference
Debugging Functions
| Name | Description |
EXISTS
|
Returns TRUE if the value is not an absent value
|
IS_ABSENT
|
Returns TRUE if the value is an absent value
|
IF_ABSENT
|
Replaces the value with an expression if it is absent |
IS_ERROR
|
Catches and checks if an error has been thrown by the underlying expression |
IF_ERROR
|
Replaces the value with an expression if it has thrown an error |
EXISTS
Syntax:
exists(value: ANY) -> BOOLEAN
Description:
Returns TRUE if value is not the absent value.
Examples:
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
Example:
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
Android
Example:
val result = db.pipeline() .collection("books") .select(field("rating").exists().alias("hasRating")) .execute()
Java
Android
Example:
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();
IS_ABSENT
Syntax:
is_absent(value: ANY) -> BOOLEAN
Description:
Returns TRUE if value is the absent value, and FALSE otherwise. Absent values
are values that are missing from the input, such as a missing document field.
Examples:
value |
is_absent(value) |
|---|---|
| 0L | FALSE |
| "foo" | FALSE |
NULL |
FALSE |
ABSENT |
TRUE |
IF_ABSENT
Syntax:
if_absent(value: ANY, replacement: ANY) -> ANY
Description:
If value is an absent value, evaluates and returns replacement. Otherwise returns value.
Examples:
value |
replacement |
if_absent(value, replacement) |
|---|---|---|
| 5L | 0L | 5L |
NULL |
0L | NULL |
ABSENT |
0L | 0L |
IS_ERROR
Syntax:
is_error(try: ANY) -> BOOLEAN
Description:
Returns TRUE if an error is thrown during the evaluation of try. Returns FALSE otherwise.
IF_ERROR
Syntax:
if_error(try: ANY, catch: ANY) -> ANY
Description:
If an error is thrown during the evaluation of try, evaluates and returns replacement. Otherwise returns the resolved value of try.
What's next
- See the Pipeline Queries overview