Các chức năng của bản đồ

Hàm bản đồ

Tên Mô tả
MAP Tạo một giá trị bản đồ từ một loạt các cặp khoá-giá trị
MAP_GET Trả về giá trị trong một tệp ánh xạ dựa trên khoá được chỉ định
MAP_SET Trả về bản sao của một bản đồ có một loạt khoá đã cập nhật
MAP_REMOVE Trả về bản sao của một bản đồ đã xoá một loạt khoá
MAP_MERGE Hợp nhất một loạt bản đồ với nhau.
CURRENT_CONTEXT Trả về ngữ cảnh hiện tại dưới dạng bản đồ.
MAP_KEYS Trả về một mảng gồm tất cả các khoá trong một bản đồ.
MAP_VALUES Trả về một mảng gồm tất cả các giá trị trong một bản đồ.
MAP_ENTRIES Trả về một mảng gồm các cặp khoá-giá trị của một bản đồ.

MAP

Cú pháp:

map(key: STRING, value: ANY, ...) -> MAP

Nội dung mô tả:

Tạo một bản đồ từ một loạt các cặp khoá-giá trị.

MAP_GET

Cú pháp:

map_get(map: ANY, key: STRING) -> ANY

Nội dung mô tả:

Trả về giá trị trong một tệp ánh xạ dựa trên khoá được chỉ định. Trả về giá trị ABSENT nếu key không tồn tại trong tệp ánh xạ hoặc nếu đối số map không phải là MAP.

Web

const result = await execute(db.pipeline()
  .collection("books")
  .select(
    field("awards").mapGet("pulitzer").as("hasPulitzerAward")
  )
);
Swift
let result = try await db.pipeline()
  .collection("books")
  .select([
    Field("awards").mapGet("pulitzer").as("hasPulitzerAward")
  ])
  .execute()

Kotlin

val result = db.pipeline()
    .collection("books")
    .select(
        field("awards").mapGet("pulitzer").alias("hasPulitzerAward")
    )
    .execute()

Java

Task<Pipeline.Snapshot> result = db.pipeline()
    .collection("books")
    .select(
        field("awards").mapGet("pulitzer").alias("hasPulitzerAward")
    )
    .execute();
Python
from google.cloud.firestore_v1.pipeline_expressions import Field

result = (
    client.pipeline()
    .collection("books")
    .select(Field.of("awards").map_get("pulitzer").as_("hasPulitzerAward"))
    .execute()
)

MAP_SET

Cú pháp:

map_set(map: MAP, key: STRING, value: ANY, ...) -> MAP

Nội dung mô tả:

Trả về bản sao của giá trị map với nội dung được cập nhật bằng một loạt các cặp khoá-giá trị.

Nếu giá trị đã cho được phân giải thành một giá trị không có, thì khoá được liên kết sẽ bị xoá khỏi bản đồ.

Nếu đối số map không phải là MAP, hàm sẽ trả về một giá trị vắng mặt.

MAP_REMOVE

Cú pháp:

map_remove(map: MAP, key: STRING...) -> MAP

Nội dung mô tả:

Trả về bản sao của giá trị map với một loạt khoá đã bị xoá.

MAP_MERGE

Cú pháp:

map_merge(maps: MAP...) -> MAP

Hợp nhất nội dung của 2 hoặc nhiều bản đồ. Nếu nhiều bản đồ có các giá trị xung đột, thì giá trị cuối cùng sẽ được sử dụng.

CURRENT_CONTEXT

Cú pháp:

current_context() -> MAP

Trả về một bản đồ bao gồm tất cả các trường có sẵn tại thời điểm thực thi hiện tại.

MAP_KEYS

Cú pháp:

map_keys(map: MAP) -> ARRAY<STRING>

Nội dung mô tả:

Trả về một mảng chứa tất cả các khoá của giá trị map.

MAP_VALUES

Cú pháp:

map_values(map: MAP) -> ARRAY<ANY>

Nội dung mô tả:

Trả về một mảng chứa tất cả các giá trị của giá trị map.

MAP_ENTRIES

Cú pháp:

map_entries(map: MAP) -> ARRAY<MAP>

Nội dung mô tả:

Trả về một mảng chứa tất cả các cặp khoá-giá trị trong giá trị map.

Mỗi cặp khoá-giá trị sẽ ở dạng một bản đồ có hai mục, kv.

Ví dụ:

map map_entries(map)
{} []
{"foo" : 2L} [{"k": "foo", "v" : 2L}]
{"foo" : "bar", "bar" : "foo"} [{"k": "foo", "v" : "bar" }, {"k" : "bar", "v": "foo"}]