ฟังก์ชันแผนที่
| ชื่อ | คำอธิบาย |
MAP
|
สร้างค่าแมปจากชุดคู่คีย์-ค่า |
MAP_GET
|
แสดงผลค่าในแมปเมื่อระบุคีย์ |
MAP_SET
|
แสดงผลสำเนาของแผนที่ที่มีชุดคีย์ที่อัปเดตแล้ว |
MAP_REMOVE
|
แสดงผลสำเนาของแผนที่โดยนำชุดคีย์ออก |
MAP_MERGE
|
ผสานรวมชุดแผนที่เข้าด้วยกัน |
CURRENT_CONTEXT
|
แสดงผลบริบทปัจจุบันเป็นแผนที่ |
MAP_KEYS
|
แสดงผลอาร์เรย์ของคีย์ทั้งหมดในแผนที่ |
MAP_VALUES
|
แสดงผลอาร์เรย์ของค่าทั้งหมดในแผนที่ |
MAP_ENTRIES
|
แสดงผลอาร์เรย์ของคู่คีย์-ค่าของแผนที่ |
MAP
ไวยากรณ์:
map(key: STRING, value: ANY, ...) -> MAP
คำอธิบาย:
สร้างแมปจากชุดคู่คีย์-ค่า
MAP_GET
ไวยากรณ์:
map_get(map: ANY, key: STRING) -> ANY
คำอธิบาย:
แสดงผลค่าในแผนที่เมื่อระบุคีย์ แสดงผลค่า ABSENT หาก key ไม่มีอยู่ในแมป หรือหากอาร์กิวเมนต์ map ไม่ใช่ 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
ไวยากรณ์:
map_set(map: MAP, key: STRING, value: ANY, ...) -> MAP
คำอธิบาย:
แสดงผลสำเนาของค่า map โดยอัปเดตเนื้อหาด้วยชุดคู่คีย์-ค่า
หากค่าที่ระบุไม่พบ ระบบจะนำคีย์ที่เชื่อมโยงออกจากแผนที่
หากmapอาร์กิวเมนต์ไม่ใช่ MAP จะแสดงผลค่าที่ไม่มี
MAP_REMOVE
ไวยากรณ์:
map_remove(map: MAP, key: STRING...) -> MAP
คำอธิบาย:
แสดงผลสำเนาของค่า map โดยนำชุดคีย์ออก
MAP_MERGE
ไวยากรณ์:
map_merge(maps: MAP...) -> MAP
ผสานเนื้อหาของแผนที่ตั้งแต่ 2 แผนที่ขึ้นไป หากแผนที่หลายรายการมีค่าที่ขัดแย้งกัน ระบบจะใช้ค่าสุดท้าย
CURRENT_CONTEXT
ไวยากรณ์:
current_context() -> MAP
แสดงผลแผนที่ซึ่งประกอบด้วยฟิลด์ที่พร้อมใช้งานทั้งหมดในจุดที่ดำเนินการปัจจุบัน
MAP_KEYS
ไวยากรณ์:
map_keys(map: MAP) -> ARRAY<STRING>
คำอธิบาย:
แสดงผลอาร์เรย์ที่มีคีย์ทั้งหมดของmap value
MAP_VALUES
ไวยากรณ์:
map_values(map: MAP) -> ARRAY<ANY>
คำอธิบาย:
แสดงผลอาร์เรย์ที่มีค่าทั้งหมดของค่า map
MAP_ENTRIES
ไวยากรณ์:
map_entries(map: MAP) -> ARRAY<MAP>
คำอธิบาย:
แสดงผลอาร์เรย์ที่มีคู่คีย์-ค่าทั้งหมดในmapค่า
คู่คีย์-ค่าแต่ละคู่จะอยู่ในรูปแบบของแผนที่ที่มี 2 รายการ ได้แก่ k และ v
ตัวอย่าง
map |
map_entries(map) |
|---|---|
| {} | [] |
| {"foo" : 2L} | [{"k": "foo", "v" : 2L}] |
| {"foo" : "bar", "bar" : "foo"} | [{"k": "foo", "v" : "bar" }, {"k" : "bar", "v": "foo"}] |