وظائف الخريطة
| الاسم | الوصف |
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.
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();
متابعة
snapshot := client.Pipeline(). Collection("books"). Select(firestore.Fields( firestore.MapGet(firestore.FieldOf("awards"), "pulitzer").As("hasPulitzerAward"), )). Execute(ctx)
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"}] |