Hàm bản đồ
| Tên | Mô tả |
MAP
|
Tạo một giá trị bản đồ từ một loạt cặp khoá-giá trị |
MAP_GET
|
Trả về giá trị trong bản đồ 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ề bối 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ả khoá trong một bản đồ. |
MAP_VALUES
|
Trả về một mảng gồm tất 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ặ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 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();
Bắt đầu
snapshot := client.Pipeline(). Collection("books"). Select(firestore.Fields( firestore.MapGet(firestore.FieldOf("awards"), "pulitzer").As("hasPulitzerAward"), )). Execute(ctx)
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 có nội dung được cập nhật bằng một loạt cặp khoá-giá trị.
Nếu giá trị đã cho phân giải thành một giá trị không có, thì khoá liên kết sẽ bị xoá khỏi bản đồ.
Nếu đối số map không phải là MAP, thì 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 sau khi xoá một loạt khoá.
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ó 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ả 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ả 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 đồ với 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"}] |