ฟังก์ชันการแก้ไขข้อบกพร่อง
| ชื่อ | คำอธิบาย |
EXISTS
|
แสดงผล TRUE หากค่าไม่ใช่ค่าที่ไม่มี
|
IS_ABSENT
|
แสดงผล TRUE หากค่าเป็นค่าที่ไม่มี
|
IF_ABSENT
|
แทนที่ค่าด้วยนิพจน์หากไม่มีค่า |
IS_ERROR
|
ดักจับและตรวจสอบว่านิพจน์พื้นฐานส่งข้อผิดพลาดหรือไม่ |
IF_ERROR
|
แทนที่ค่าด้วยนิพจน์หากค่าดังกล่าวทำให้เกิดข้อผิดพลาด |
EXISTS
ไวยากรณ์:
exists(value: ANY) -> BOOLEAN
คำอธิบาย:
แสดงผล TRUE หาก value ไม่ใช่ค่าที่ไม่มี
ตัวอย่าง
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
คำอธิบาย:
แสดงผล TRUE หาก value เป็นค่าที่ไม่มี และแสดงผล 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
คำอธิบาย:
แสดงผล TRUE หากเกิดข้อผิดพลาดระหว่างการประเมิน try ไม่เช่นนั้นจะแสดงผลเป็น FALSE
IF_ERROR
ไวยากรณ์:
if_error(try: ANY, catch: ANY) -> ANY
คำอธิบาย:
หากเกิดข้อผิดพลาดระหว่างการประเมิน try ฟังก์ชันจะประเมินและแสดงผล replacement ไม่เช่นนั้นจะแสดงค่าที่แก้ไขแล้วของ try