Funkcje mapy

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: kv.

Przykłady:

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