توابع نقشه
| نام | توضیحات |
MAP | یک مقدار نگاشت (map value) را از مجموعهای از جفتهای کلید-مقدار میسازد. |
MAP_GET | مقدار موجود در یک نقشه را با توجه به یک کلید مشخص شده برمیگرداند. |
MAP_SET | یک کپی از نقشه را با مجموعهای از کلیدهای بهروزرسانیشده برمیگرداند |
MAP_REMOVE | یک کپی از نقشه را با حذف یک سری کلید برمیگرداند. |
MAP_MERGE | یک سری نقشه را با هم ادغام میکند. |
CURRENT_CONTEXT | زمینه فعلی را به عنوان یک نقشه برمیگرداند. |
MAP_KEYS | آرایهای از تمام کلیدهای موجود در یک نقشه را برمیگرداند. |
MAP_VALUES | آرایهای از تمام مقادیر موجود در یک نقشه را برمیگرداند. |
MAP_ENTRIES | آرایهای از جفتهای کلید-مقدار از یک نقشه را برمیگرداند. |
نقشه
نحو:
map(key: STRING, value: ANY, ...) -> MAP
شرح:
یک نقشه از مجموعهای از جفتهای کلید-مقدار میسازد.
دریافت نقشه
نحو:
map_get(map: ANY, key: STRING) -> ANY
شرح:
مقدار موجود در یک نقشه را با توجه به یک کلید مشخص شده برمیگرداند. اگر key در نقشه وجود نداشته باشد، یا اگر آرگومان map یک MAP نباشد، مقدار ABSENT را برمیگرداند.
Web
const result = await execute(db.pipeline() .collection("books") .select( field("awards").mapGet("pulitzer").as("hasPulitzerAward") ) );
سویفت
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();
پایتون
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: MAP, key: STRING, value: ANY, ...) -> MAP
شرح:
یک کپی از مقدار map را به همراه محتویات آن که توسط یک سری جفتهای کلید-مقدار بهروزرسانی شدهاند، برمیگرداند.
اگر نتیجهی حاصل، مقداری ناموجود باشد، کلید مرتبط از نقشه حذف میشود.
اگر آرگومان map یک MAP نباشد، مقداری را برمیگرداند که وجود ندارد.
حذف نقشه
نحو:
map_remove(map: MAP, key: STRING...) -> MAP
شرح:
یک کپی از مقدار map را با حذف یک سری از کلیدها برمیگرداند.
ادغام نقشه
نحو:
map_merge(maps: MAP...) -> MAP
محتویات ۲ یا چند نقشه را ادغام میکند. اگر چندین نقشه مقادیر متناقضی داشته باشند، آخرین مقدار استفاده میشود.
زمینه فعلی
نحو:
current_context() -> MAP
یک نقشه شامل تمام فیلدهای موجود در نقطه فعلی اجرا را برمیگرداند.
کلیدهای نقشه
نحو:
map_keys(map: MAP) -> ARRAY<STRING>
شرح:
آرایهای شامل تمام کلیدهای مقدار map را برمیگرداند.
مقادیر نقشه
نحو:
map_values(map: MAP) -> ARRAY<ANY>
شرح:
آرایهای شامل تمام مقادیر مقدار map را برمیگرداند.
ورودیهای نقشه
نحو:
map_entries(map: MAP) -> ARRAY<MAP>
شرح:
آرایهای شامل تمام جفتهای کلید-مقدار در مقدار map را برمیگرداند.
هر جفت کلید-مقدار به شکل یک نگاشت با دو ورودی k و v خواهد بود.
مثالها:
map | map_entries(map) |
|---|---|
| {} | [] |
| {"غذا" : 2L} | [{"k": "foo", "v" : 2L}] |
| {"foo" : "bar", "bar" : "foo"} | [{"k": "foo"، "v" : "bar" }، {"k": "bar"، "v": "foo"}] |