除錯函式

偵錯函式

名稱 說明
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
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"))
);
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 的已解析值。