Kartenfunktionen

Kartenfunktionen

Name Beschreibung
MAP Erstellt einen Zuordnungswert aus einer Reihe von Schlüssel/Wert-Paaren.
MAP_GET Gibt den Wert in einer Zuordnung für einen angegebenen Schlüssel zurück.
MAP_SET Gibt eine Kopie einer Karte mit einer Reihe aktualisierter Schlüssel zurück.
MAP_REMOVE Gibt eine Kopie einer Map zurück, aus der eine Reihe von Schlüsseln entfernt wurde.
MAP_MERGE Führt eine Reihe von Karten zusammen.
CURRENT_CONTEXT Gibt den aktuellen Kontext als Karte zurück.
MAP_KEYS Gibt ein Array mit allen Schlüsseln in einer Map zurück.
MAP_VALUES Gibt ein Array mit allen Werten in einer Map zurück.
MAP_ENTRIES Gibt ein Array von Schlüssel/Wert-Paaren einer Zuordnung zurück.

MAP

Syntax:

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

Beschreibung:

Erstellt eine Zuordnung aus einer Reihe von Schlüssel/Wert-Paaren.

MAP_GET

Syntax:

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

Beschreibung:

Gibt den Wert in einer Zuordnung für einen angegebenen Schlüssel zurück. Gibt einen ABSENT-Wert zurück, wenn key nicht in der Zuordnung vorhanden ist oder wenn das Argument map kein MAP ist.

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

Syntax:

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

Beschreibung:

Gibt eine Kopie des map-Werts zurück, dessen Inhalt durch eine Reihe von Schlüssel/Wert-Paaren aktualisiert wurde.

Wenn der angegebene Wert in einen nicht vorhandenen Wert aufgelöst wird, wird der zugehörige Schlüssel aus der Zuordnung entfernt.

Wenn das Argument map kein MAP ist, wird ein fehlender Wert zurückgegeben.

MAP_REMOVE

Syntax:

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

Beschreibung:

Gibt eine Kopie des map-Werts zurück, aus der eine Reihe von Schlüsseln entfernt wurde.

MAP_MERGE

Syntax:

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

Führt den Inhalt von zwei oder mehr Karten zusammen. Wenn mehrere Maps widersprüchliche Werte haben, wird der letzte Wert verwendet.

CURRENT_CONTEXT

Syntax:

current_context() -> MAP

Gibt eine Karte mit allen verfügbaren Feldern am aktuellen Ausführungspunkt zurück.

MAP_KEYS

Syntax:

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

Beschreibung:

Gibt ein Array mit allen Schlüsseln des map-Werts zurück.

MAP_VALUES

Syntax:

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

Beschreibung:

Gibt ein Array mit allen Werten des map-Werts zurück.

MAP_ENTRIES

Syntax:

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

Beschreibung:

Gibt ein Array mit allen Schlüssel/Wert-Paaren im map-Wert zurück.

Jedes Schlüssel/Wert-Paar hat die Form einer Map mit zwei Einträgen, k und v.

Beispiele:

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