Функции карты
| Имя | Описание |
MAP | Создает значение карты из ряда пар ключ-значение. |
MAP_GET | Возвращает значение в виде карты по заданному ключу. |
MAP_SET | Возвращает копию карты с рядом обновленных ключей. |
MAP_REMOVE | Возвращает копию карты, из которой удален ряд ключей. |
MAP_MERGE | Объединяет несколько карт. |
CURRENT_CONTEXT | Возвращает текущий контекст в виде карты. |
MAP_KEYS | Возвращает массив всех ключей в карте. |
MAP_VALUES | Возвращает массив всех значений в карте. |
MAP_ENTRIES | Возвращает массив пар ключ-значение в виде карты. |
КАРТА
Синтаксис:
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") ) );
Быстрый
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() -> 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}] |
| {"фу": "бар", "бар": "фу"} | [{"k": "foo", "v" : "bar" }, {"k" : "bar", "v": "foo"}] |