دوال الخرائط

وظائف الخريطة

الاسم الوصف
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"}]