Funkcje mapy
| Nazwa | Opis |
MAP
|
Tworzy wartość mapy z serii par klucz-wartość. |
MAP_GET
|
Zwraca wartość w mapie na podstawie określonego klucza. |
MAP_SET
|
Zwraca kopię mapy z serią zaktualizowanych kluczy. |
MAP_REMOVE
|
Zwraca kopię mapy z usuniętą serią kluczy. |
MAP_MERGE
|
Łączy serię map. |
CURRENT_CONTEXT
|
Zwraca bieżący kontekst jako mapę. |
MAP_KEYS
|
Zwraca tablicę wszystkich kluczy na mapie. |
MAP_VALUES
|
Zwraca tablicę wszystkich wartości w mapie. |
MAP_ENTRIES
|
Zwraca tablicę par klucz-wartość z mapy. |
MAP
Składnia:
map(key: STRING, value: ANY, ...) -> MAP
Opis:
Tworzy mapę z serii par klucz-wartość.
MAP_GET
Składnia:
map_get(map: ANY, key: STRING) -> ANY
Opis:
Zwraca wartość w mapie na podstawie określonego klucza. Zwraca wartość ABSENT, jeśli element key nie występuje na mapie lub jeśli argument map nie jest elementem MAP.
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
Składnia:
map_set(map: MAP, key: STRING, value: ANY, ...) -> MAP
Opis:
Zwraca kopię wartości map, której zawartość została zaktualizowana przez serię par klucz-wartość.
Jeśli podana wartość jest nieobecna, powiązany klucz zostanie usunięty z mapy.
Jeśli argument map nie jest wartością MAP, zwraca wartość pustą.
MAP_REMOVE
Składnia:
map_remove(map: MAP, key: STRING...) -> MAP
Opis:
Zwraca kopię wartości map z usuniętą serią kluczy.
MAP_MERGE
Składnia:
map_merge(maps: MAP...) -> MAP
Łączy zawartość co najmniej 2 map. Jeśli kilka map ma sprzeczne wartości, używana jest ostatnia wartość.
CURRENT_CONTEXT
Składnia:
current_context() -> MAP
Zwraca mapę zawierającą wszystkie dostępne pola w bieżącym punkcie wykonania.
MAP_KEYS
Składnia:
map_keys(map: MAP) -> ARRAY<STRING>
Opis:
Zwraca tablicę zawierającą wszystkie klucze wartości map.
MAP_VALUES
Składnia:
map_values(map: MAP) -> ARRAY<ANY>
Opis:
Zwraca tablicę zawierającą wszystkie wartości map.
MAP_ENTRIES
Składnia:
map_entries(map: MAP) -> ARRAY<MAP>
Opis:
Zwraca tablicę zawierającą wszystkie pary klucz-wartość w wartości map.
Każda para klucz-wartość będzie miała postać mapy z 2 wpisami: k i v.
Przykłady:
map |
map_entries(map) |
|---|---|
| {} | [] |
| {"foo" : 2L} | [{"k": "foo", "v" : 2L}] |
| {"foo" : "bar", "bar" : "foo"} | [{"k": "foo", "v" : "bar" }, {"k" : "bar", "v": "foo"}] |