Kartenfunktionen

Kartenfunktionen

Name Beschreibung
MAP Erstellt einen Zuordnungswert aus einer Reihe von Schlüssel/Wert-Paaren
MAP_GET Gibt den Wert in einer Map für einen angegebenen Schlüssel zurück
MAP_SET Gibt eine Kopie einer Map 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 Maps zusammen.
CURRENT_CONTEXT Gibt den aktuellen Kontext als Map zurück.
MAP_KEYS Gibt ein Array aller Schlüssel in einer Map zurück.
MAP_VALUES Gibt ein Array aller Werte in einer Map zurück.
MAP_ENTRIES Gibt ein Array von Schlüssel/Wert-Paaren einer Map zurück.

MAP

Syntax:

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

Beschreibung:

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

MAP_GET

Syntax:

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

Beschreibung:

Gibt den Wert in einer Map für einen angegebenen Schlüssel zurück. Gibt einen ABSENT-Wert zurück, wenn der key nicht in der Zuordnung vorhanden ist oder wenn das Argument map kein MAP 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

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();
Go
snapshot := client.Pipeline().
	Collection("books").
	Select(firestore.Fields(
		firestore.MapGet(firestore.FieldOf("awards"), "pulitzer").As("hasPulitzerAward"),
	)).
	Execute(ctx)

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 zu einem 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, wobei eine Reihe von Schlüsseln entfernt wurde.

MAP_MERGE

Syntax:

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

Führt die Inhalte von zwei oder mehr Maps 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 zurück, das alle Schlüssel des map-Werts enthält.

MAP_VALUES

Syntax:

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

Beschreibung:

Gibt ein Array zurück, das alle Werte des map-Werts enthält.

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