Funções de mapa

Funções de Mapa

Nome Descrição
MAP Cria um valor de mapa com base em uma série de pares de chave-valor.
MAP_GET Retorna o valor em um mapa com base em uma chave especificada.
MAP_SET Retorna uma cópia de um mapa com uma série de chaves atualizadas.
MAP_REMOVE Retorna uma cópia de um mapa com uma série de chaves removidas.
MAP_MERGE Mescla uma série de mapas.
CURRENT_CONTEXT Retorna o contexto atual como um mapa.
MAP_KEYS Retorna uma matriz de todas as chaves em um mapa.
MAP_VALUES Retorna uma matriz de todos os valores em um mapa.
MAP_ENTRIES Retorna uma matriz de pares de chave-valor de um mapa.

MAP

Sintaxe:

map(key: STRING, value: ANY, ...) -> MAP

Descrição:

Cria um mapa com base em uma série de pares de chave-valor.

MAP_GET

Sintaxe:

map_get(map: ANY, key: STRING) -> ANY

Descrição:

Retorna o valor em um mapa com base em uma chave especificada. Retorna um valor ABSENT se key não existir no mapa ou se o argumento map não for um 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

Sintaxe:

map_set(map: MAP, key: STRING, value: ANY, ...) -> MAP

Descrição:

Retorna uma cópia do valor map com o conteúdo atualizado por uma série de pares de chave-valor.

Se o valor fornecido for resolvido como um valor ausente, a chave associada será removida do mapa.

Se o argumento map não for um MAP, vai retornar um valor ausente.

MAP_REMOVE

Sintaxe:

map_remove(map: MAP, key: STRING...) -> MAP

Descrição:

Retorna uma cópia do valor map com uma série de chaves removidas.

MAP_MERGE

Sintaxe:

map_merge(maps: MAP...) -> MAP

Mescla o conteúdo de dois ou mais mapas. Se vários mapas tiverem valores conflitantes, o último valor será usado.

CURRENT_CONTEXT

Sintaxe:

current_context() -> MAP

Retorna um mapa com todos os campos disponíveis no ponto de execução atual.

MAP_KEYS

Sintaxe:

map_keys(map: MAP) -> ARRAY<STRING>

Descrição:

Retorna uma matriz que contém todas as chaves do valor map.

MAP_VALUES

Sintaxe:

map_values(map: MAP) -> ARRAY<ANY>

Descrição:

Retorna uma matriz que contém todos os valores de map.

MAP_ENTRIES

Sintaxe:

map_entries(map: MAP) -> ARRAY<MAP>

Descrição:

Retorna uma matriz que contém todos os pares de chave-valor no valor map.

Cada par de chave-valor estará na forma de um mapa com duas entradas, k e v.

Exemplos:

map map_entries(map)
{} []
{"foo" : 2L} [{"k": "foo", "v" : 2L}]
{"foo" : "bar", "bar" : "foo"} [{"k": "foo", "v" : "bar" }, {"k" : "bar", "v": "foo"}]