Các hàm gỡ lỗi
| Tên | Mô tả |
EXISTS
|
Trả về TRUE nếu giá trị không phải là giá trị vắng mặt
|
IS_ABSENT
|
Trả về TRUE nếu giá trị là giá trị vắng mặt
|
IF_ABSENT
|
Thay thế giá trị bằng một biểu thức nếu giá trị đó không có |
IS_ERROR
|
Bắt và kiểm tra xem biểu thức cơ bản có gửi lỗi hay không |
IF_ERROR
|
Thay thế giá trị bằng một biểu thức nếu giá trị đó gây ra lỗi |
ERROR
|
Chấm dứt việc đánh giá và trả về lỗi kèm theo thông báo được chỉ định |
EXISTS
Cú pháp:
exists(value: ANY) -> BOOLEAN
Nội dung mô tả:
Trả về TRUE nếu value không phải là giá trị vắng mặt.
Ví dụ:
value |
exists(value) |
|---|---|
| 0L | TRUE |
| "foo" | TRUE |
NULL |
TRUE |
ABSENT |
FALSE |
Node.js
const result = await db.pipeline() .collection("books") .select(field("rating").exists().as("hasRating")) .execute();
Web
Ví dụ:
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
Ví dụ:
val result = db.pipeline() .collection("books") .select(field("rating").exists().alias("hasRating")) .execute()
Java
Ví dụ:
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() )
Java
Pipeline.Snapshot result = firestore .pipeline() .collection("books") .select(exists(field("rating")).as("hasRating")) .execute() .get();
Bắt đầu
snapshot := client.Pipeline(). Collection("books"). Select(firestore.Fields( firestore.FieldExists(firestore.FieldOf("rating")).As("hasRating"), )). Execute(ctx)
IS_ABSENT
Cú pháp:
is_absent(value: ANY) -> BOOLEAN
Nội dung mô tả:
Trả về TRUE nếu value là giá trị vắng mặt, nếu không thì trả về FALSE. Giá trị vắng mặt là những giá trị bị thiếu trong dữ liệu đầu vào, chẳng hạn như trường tài liệu bị thiếu.
Ví dụ:
value |
is_absent(value) |
|---|---|
| 0L | FALSE |
| "foo" | FALSE |
NULL |
FALSE |
ABSENT |
TRUE |
IF_ABSENT
Cú pháp:
if_absent(value: ANY, replacement: ANY) -> ANY
Nội dung mô tả:
Nếu value là một giá trị vắng mặt, thì hàm sẽ đánh giá và trả về replacement. Nếu không, hàm sẽ trả về value.
Ví dụ:
value |
replacement |
if_absent(value, replacement) |
|---|---|---|
| 5L | 0L | 5L |
NULL |
0L | NULL |
ABSENT |
0L | 0L |
IS_ERROR
Cú pháp:
is_error(try: ANY) -> BOOLEAN
Nội dung mô tả:
Trả về TRUE nếu xảy ra lỗi trong quá trình đánh giá try. Nếu không, hàm sẽ trả về FALSE.
IF_ERROR
Cú pháp:
if_error(try: ANY, catch: ANY) -> ANY
Nội dung mô tả:
Nếu xảy ra lỗi trong quá trình đánh giá try, thì hàm sẽ đánh giá và trả về replacement. Nếu không, hàm sẽ trả về giá trị đã phân giải của try.
LỖI
Cú pháp:
error(message: STRING) -> ANY
Nội dung mô tả:
Kết quả đánh giá hàm error khiến quá trình đánh giá quy trình bị chấm dứt kèm theo lỗi. message đã cho được đưa vào lỗi.
Ví dụ:
cond |
res |
switch_on(cond, res, error("no condition matched")) |
|---|---|---|
TRUE |
1L | 1L |
FALSE |
1L | ERROR ("no condition matched") |