Hàm bản đồ
| Tên | Mô tả |
MAP
|
Tạo một giá trị bản đồ từ một chuỗi các cặp khoá-giá trị |
MAP_GET
|
Trả về giá trị trong một bản đồ dựa trên một khoá được chỉ định |
MAP_SET
|
Trả về bản sao của một bản đồ với một chuỗi các khoá đã cập nhật |
MAP_REMOVE
|
Trả về bản sao của một bản đồ với một chuỗi các khoá đã xoá |
MAP_MERGE
|
Hợp nhất một chuỗi các bản đồ. |
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 chuỗi 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 bản đồ dựa trên một khoá được chỉ định. Trả về giá trị ABSENT nếu key không tồn tại trong bản đồ hoặc nếu đối số map không phải là MAP.
Node.js
const result = await db.pipeline() .collection("books") .select( field("awards").mapGet("pulitzer").as("hasPulitzerAward") ) .execute();
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() )
Java
Pipeline.Snapshot result = firestore .pipeline() .collection("books") .select(mapGet(field("awards"), "pulitzer").as("hasPulitzerAward")) .execute() .get();
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 theo một chuỗi các cặp khoá-giá trị.
Nếu giá trị đã cho phân giải thành một giá trị vắng mặt, 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, thì 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 chuỗi các khoá đã xoá.
MAP_MERGE
Cú pháp:
map_merge(maps: MAP...) -> MAP
Hợp nhất nội dung của 2 bản đồ trở lê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 đ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ẽ có dạng một bản đồ gồm hai mục nhập, k và v.
Ví dụ:
map |
map_entries(map) |
|---|---|
| {} | [] |
| {"foo" : 2L} | [{"k": "foo", "v" : 2L}] |
| {"foo" : "bar", "bar" : "foo"} | [{"k": "foo", "v" : "bar" }, {"k" : "bar", "v": "foo"}] |