Fonctions de carte

Fonctions de carte

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

MAPPAGE

Syntaxe :

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

Description :

Construit une carte à partir d'une série de paires clé/valeur.

MAP_GET

Syntaxe :

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

Description :

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

Syntaxe :

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

Description :

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

Si la valeur donnée est 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 plusieurs cartes. Si plusieurs cartes ont des valeurs conflictuelles, la dernière valeur est utilisée.

CURRENT_CONTEXT

Syntaxe :

current_context() -> MAP

Renvoie une carte contenant 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 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ésentera sous la forme d'une map 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"}]