Функции карт
| Имя | Описание |
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.
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"}] |