دوال الخرائط

دوال الخريطة

الاسم الوصف
MAP تنشئ هذه الدالة قيمة خريطة من سلسلة من أزواج المفاتيح والقيم
MAP_GET تعرض هذه الدالة القيمة في خريطة معيّنة استنادًا إلى مفتاح محدّد
MAP_SET تعرض هذه الدالة نسخة من خريطة تتضمّن سلسلة من المفاتيح المعدَّلة
MAP_REMOVE تعرض هذه الدالة نسخة من خريطة مع إزالة سلسلة من المفاتيح
MAP_MERGE لدمج سلسلة من الخرائط معًا
CURRENT_CONTEXT تعرض هذه الدالة السياق الحالي كخريطة.
MAP_KEYS تعرض هذه الدالة مصفوفة لجميع المفاتيح في خريطة.
MAP_VALUES تعرض مصفوفة لجميع القيم في خريطة.
MAP_ENTRIES تعرض مصفوفة من أزواج المفتاح والقيمة لخريطة.

English: MAP Arabic: English: 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"}]