وظائف الخريطة
| الاسم | الوصف |
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
تدمج هذه الدالة محتوى خريطتَين أو أكثر. إذا كانت هناك قيم متعارضة في خرائط متعدّدة، يتم استخدام القيمة الأخيرة.
CURRENT_CONTEXT
البنية:
current_context() -> MAP
تعرض هذه الدالة خريطة تتضمّن جميع الحقول المتاحة في نقطة التنفيذ الحالية.
MAP_KEYS
البنية:
map_keys(map: MAP) -> ARRAY<STRING>
الوصف:
تعرض هذه الدالة صفيفًا يحتوي على جميع مفاتيح قيمة map.
MAP_VALUES
البنية:
map_values(map: MAP) -> ARRAY<ANY>
الوصف:
تعرض هذه الدالة صفيفًا يحتوي على جميع قيم map.
MAP_ENTRIES
البنية:
map_entries(map: MAP) -> ARRAY<MAP>
الوصف:
تعرض هذه الدالة صفيفًا يحتوي على جميع أزواج المفاتيح والقيم في القيمة map.
سيكون كل زوج مفتاح وقيمة على شكل خريطة تتضمّن إدخالَين، k وv.
أمثلة:
map |
map_entries(map) |
|---|---|
| {} | [] |
| {"foo" : 2L} | [{"k": "foo", "v" : 2L}] |
| {"foo" : "bar", "bar" : "foo"} | [{"k": "foo", "v" : "bar" }, {"k" : "bar", "v": "foo"}] |