Funciones de mapa
| Nombre | Descripción |
MAP
|
Construye un valor de mapa a partir de una serie de pares clave-valor. |
MAP_GET
|
Devuelve el valor de un mapa para una clave especificada. |
MAP_SET
|
Devuelve una copia de un mapa con una serie de claves actualizadas. |
MAP_REMOVE
|
Devuelve una copia de un mapa con una serie de claves quitadas. |
MAP_MERGE
|
Combina una serie de mapas. |
CURRENT_CONTEXT
|
Devuelve el contexto actual como un mapa. |
MAP_KEYS
|
Devuelve un array de todas las claves de un mapa. |
MAP_VALUES
|
Devuelve un array de todos los valores de un mapa. |
MAP_ENTRIES
|
Devuelve un array de pares clave-valor de un mapa. |
MAP
Sintaxis:
map(key: STRING, value: ANY, ...) -> MAP
Descripción:
Construye un mapa a partir de una serie de pares clave-valor.
MAP_GET
Sintaxis:
map_get(map: ANY, key: STRING) -> ANY
Descripción:
Devuelve el valor de un mapa para una clave especificada. Devuelve un valor ABSENT si el key no existe en el mapa o si el argumento map no es un 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
Sintaxis:
map_set(map: MAP, key: STRING, value: ANY, ...) -> MAP
Descripción:
Devuelve una copia del valor de map con su contenido actualizado por una serie de pares clave-valor.
Si el valor proporcionado se resuelve en un valor ausente, se quita la clave asociada del mapa.
Si el argumento map no es un MAP, devuelve un valor ausente.
MAP_REMOVE
Sintaxis:
map_remove(map: MAP, key: STRING...) -> MAP
Descripción:
Devuelve una copia del valor de map con una serie de claves quitadas.
MAP_MERGE
Sintaxis:
map_merge(maps: MAP...) -> MAP
Combina el contenido de 2 o más mapas. Si varios mapas tienen valores en conflicto, se usa el último valor.
CURRENT_CONTEXT
Sintaxis:
current_context() -> MAP
Devuelve un mapa que contiene todos los campos disponibles en el punto de ejecución actual.
MAP_KEYS
Sintaxis:
map_keys(map: MAP) -> ARRAY<STRING>
Descripción:
Devuelve un array que contiene todas las claves del valor map.
MAP_VALUES
Sintaxis:
map_values(map: MAP) -> ARRAY<ANY>
Descripción:
Devuelve un array que contiene todos los valores del valor map.
MAP_ENTRIES
Sintaxis:
map_entries(map: MAP) -> ARRAY<MAP>
Descripción:
Devuelve un array que contiene todos los pares clave-valor en el valor de map.
Cada par clave-valor tendrá la forma de un mapa con dos entradas, k y v.
Ejemplos:
map |
map_entries(map) |
|---|---|
| {} | [] |
| {"foo" : 2L} | [{"k": "foo", "v" : 2L}] |
| {"foo" : "bar", "bar" : "foo"} | [{"k": "foo", "v" : "bar" }, {"k" : "bar", "v": "foo"}] |