توابع اشکالزدایی
| نام | توضیحات |
EXISTS | اگر مقدار، مقدار غایب نباشد، TRUE را برمیگرداند |
IS_ABSENT | اگر مقدار مورد نظر وجود نداشته باشد، TRUE برمیگرداند |
IF_ABSENT | اگر مقدار وجود نداشته باشد، آن را با یک عبارت جایگزین میکند |
IS_ERROR | دریافت و بررسی میکند که آیا خطایی توسط عبارت اصلی ایجاد شده است یا خیر. |
IF_ERROR | اگر خطایی رخ داده باشد، مقدار را با یک عبارت جایگزین میکند. |
موجود است
نحو:
exists(value: ANY) -> BOOLEAN
شرح:
اگر value مقدار غایب نباشد، TRUE را برمیگرداند.
مثالها:
value | exists(value) |
|---|---|
| 0 لیتر | TRUE |
| "فو" | 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")) );
سویفت
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();
پایتون
from google.cloud.firestore_v1.pipeline_expressions import Field result = ( client.pipeline() .collection("books") .select(Field.of("rating").exists().as_("hasRating")) .execute() )
غایب است
نحو:
is_absent(value: ANY) -> BOOLEAN
شرح:
اگر value مقدار غایب باشد، مقدار TRUE و در غیر این صورت FALSE را برمیگرداند. مقادیر غایب، مقادیری هستند که در ورودی وجود ندارند، مانند یک فیلد سند که وجود ندارد.
مثالها:
value | is_absent(value) |
|---|---|
| 0 لیتر | FALSE |
| "فو" | FALSE |
NULL | FALSE |
ABSENT | TRUE |
اگر_غایب باشد
نحو:
if_absent(value: ANY, replacement: ANY) -> ANY
شرح:
اگر value یک مقدار موجود نباشد، ارزیابی کرده و replacement را برمیگرداند. در غیر این صورت value را برمیگرداند.
مثالها:
value | replacement | if_absent(value, replacement) |
|---|---|---|
| ۵ لیتر | 0 لیتر | ۵ لیتر |
NULL | 0 لیتر | NULL |
ABSENT | 0 لیتر | 0 لیتر |
خطای IS
نحو:
is_error(try: ANY) -> BOOLEAN
شرح:
اگر در حین ارزیابی try خطایی رخ دهد، TRUE برمیگرداند. در غیر این صورت، FALSE برمیگرداند.
اگر_خطا
نحو:
if_error(try: ANY, catch: ANY) -> ANY
شرح:
اگر در حین ارزیابی try خطایی رخ دهد، replacement ارزیابی و برمیگرداند. در غیر این صورت، مقدار حلشده try را برمیگرداند.