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