Các hàm gỡ lỗi

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à một giá trị không có
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ây ra lỗi hay không
IF_ERROR Thay thế giá trị bằng một biểu thức nếu giá trị đó đã báo lỗi
ERROR Kết thúc quá trình đánh giá và trả về lỗi kèm theo thông báo đã 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 và FALSE nếu ngược lại. 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ư một 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ị không có, hàm sẽ đánh giá và trả về replacement. Nếu không, hàm này 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 này 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, 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ả:

Việc đánh giá hàm error sẽ dẫn đến việc đánh giá quy trình để kết thúc bằng một lỗi. message đã cho có trong lỗi.

Ví dụ:

cond res switch_on(cond, res, error("no condition matched"))
TRUE 1L 1L
FALSE 1L ERROR ("no condition matched")