调试函数
| 名称 | 说明 |
EXISTS
|
如果该值不是缺失值,则返回 TRUE |
IS_ABSENT
|
如果该值为缺失值,则返回 TRUE
|
IF_ABSENT
|
如果该值为缺失值,则将其替换为表达式 |
IS_ERROR
|
捕获并检查底层表达式是否抛出错误 |
IF_ERROR
|
如果该值在求值过程中抛出错误,则将其替换为表达式 |
EXISTS
语法:
exists(value: ANY) -> BOOLEAN
说明:
如果 value 不是缺失值,则返回 TRUE。
示例:
value |
exists(value) |
|---|---|
| 0L | TRUE |
| "foo" | 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")) );
Swift
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
说明:
如果 value 是缺失值,则返回 TRUE;否则返回 FALSE。缺失值是指输入中不存在的值,例如文档字段缺失。
示例:
value |
is_absent(value) |
|---|---|
| 0L | FALSE |
| "foo" | FALSE |
NULL |
FALSE |
ABSENT |
TRUE |
IF_ABSENT
语法:
if_absent(value: ANY, replacement: ANY) -> ANY
说明:
如果 value 是缺失值,则对 replacement 求值并返回结果。否则返回 value。
示例:
value |
replacement |
if_absent(value, replacement) |
|---|---|---|
| 5L | 0L | 5L |
NULL |
0L | NULL |
ABSENT |
0L | 0L |
IS_ERROR
语法:
is_error(try: ANY) -> BOOLEAN
说明:
如果在对 try 求值期间抛出错误,则返回 TRUE。否则返回 FALSE。
IF_ERROR
语法:
if_error(try: ANY, catch: ANY) -> ANY
说明:
如果在对 try 求值期间抛出错误,则对 replacement 求值并返回结果。否则,返回 try 的已解析值。