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 en fonction d'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'un mappage.
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'un mappage pour une clé spécifiée. Renvoie une valeur ABSENT si 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();
Accéder
snapshot := client.Pipeline().
	Collection("books").
	Select(firestore.Fields(
		firestore.MapGet(firestore.FieldOf("awards"), "pulitzer").As("hasPulitzerAward"),
	)).
	Execute(ctx)

MAP_SET

Syntaxe :

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

Description :

Renvoie une copie de la valeur map avec son contenu mis à jour par une série de paires clé/valeur.

Si la valeur donnée correspond à 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 d'au moins deux cartes. Si plusieurs mappages ont des valeurs en conflit, la dernière valeur est utilisée.

CURRENT_CONTEXT

Syntaxe :

current_context() -> MAP

Renvoie une carte composée de tous les champs disponibles dans le 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ésentera 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"}]