ניפוי באגים בפונקציות
| שם | תיאור |
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.