Fonctions de carte

Fonctions de mappage

Nom Description
MAP Construit une valeur de mappage à partir d'une série de paires clé-valeur
MAP_GET Renvoie la valeur d'un mappage à partir d'une clé spécifiée
MAP_SET Renvoie une copie d'un mappage avec une série de clés mises à jour
MAP_REMOVE Renvoie une copie d'un mappage avec une série de clés supprimées
MAP_MERGE Fusionne une série de mappages.
CURRENT_CONTEXT Renvoie le contexte actuel sous forme de mappage.
MAP_KEYS Renvoie un tableau de toutes les clés d'un mappage.
MAP_VALUES Renvoie un tableau de toutes les valeurs d'un mappage.
MAP_ENTRIES Renvoie un tableau de paires clé-valeur d'un mappage.

MAPPAGE

Syntaxe :

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

Description:

Construit un mappage à partir d'une série de paires clé-valeur.

MAP_GET

Syntaxe :

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

Description:

Renvoie la valeur d'un mappage à partir d'une clé spécifiée. Renvoie une valeur ABSENT si la key n'existe pas dans le mappage ou si l'argument map n'est pas un 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

Syntaxe :

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

Description:

Renvoie une copie de la valeur map dont le contenu est mis à jour par une série de paires clé-valeur.

Si la valeur donnée est résolue en une valeur absente, la clé associée est supprimée du mappage.

Si l'argument map n'est pas un MAP, renvoie une valeur absente.

MAP_REMOVE

Syntaxe :

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

Description:

Renvoie une copie de la valeur map avec une série de clés supprimées.

MAP_MERGE

Syntaxe :

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

Fusionne le contenu de deux mappages ou plus. Si plusieurs mappages ont des valeurs conflictuelles, la dernière valeur est utilisée.

CURRENT_CONTEXT

Syntaxe :

current_context() -> MAP

Renvoie un mappage composé de tous les champs disponibles au point d'exécution actuel.

MAP_KEYS

Syntaxe :

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

Description:

Renvoie un tableau contenant toutes les clés de la valeur map.

MAP_VALUES

Syntaxe :

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

Description:

Renvoie un tableau contenant toutes les valeurs de la valeur map.

MAP_ENTRIES

Syntaxe :

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

Description:

Renvoie un tableau contenant toutes les paires clé-valeur de la valeur map.

Chaque paire clé-valeur se présente sous la forme d'un mappage avec deux entrées, k et v.

Exemples :

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