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