Referenz zu Zuordnungsfunktionen

Zuordnungsfunktionen

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 Zuordnung mit einer Reihe aktualisierter Schlüssel zurück.
MAP_REMOVE Gibt eine Kopie einer Zuordnung zurück, aus der eine Reihe von Schlüsseln entfernt wurde.
MAP_MERGE Führt eine Reihe von Zuordnungen zusammen.
CURRENT_CONTEXT Gibt den aktuellen Kontext als Zuordnung zurück.
MAP_KEYS Gibt ein Array aller Schlüssel in einer Zuordnung zurück.
MAP_VALUES Gibt ein Array aller Werte in einer Zuordnung 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 der key in der Zuordnung nicht vorhanden ist oder wenn das Argument map kein MAP-Wert ist.

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
Android
val result = db.pipeline()
    .collection("books")
    .select(
        field("awards").mapGet("pulitzer").alias("hasPulitzerAward")
    )
    .execute()
Java
Android
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

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-Wert ist, wird ein nicht vorhandener 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 Zuordnungen zusammen. Wenn mehrere Zuordnungen widersprüchliche Werte haben, wird der letzte Wert verwendet.

CURRENT_CONTEXT

Syntax:

current_context() -> MAP

Gibt eine Zuordnung zurück, die alle verfügbaren Felder am aktuellen Ausführungspunkt enthält.

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 Zuordnung 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"}]

Nächste Schritte