map 함수

맵 함수

이름 설명
MAP 일련의 키-값 쌍에서 맵 값을 구성합니다.
MAP_GET 지정된 키가 주어지면 맵의 값을 반환합니다.
MAP_SET 일련의 업데이트된 키가 포함된 맵의 사본을 반환합니다.
MAP_REMOVE 일련의 키가 삭제된 맵의 사본을 반환합니다.
MAP_MERGE 일련의 맵을 병합합니다.
CURRENT_CONTEXT 현재 컨텍스트를 맵으로 반환합니다.
MAP_KEYS 맵의 모든 키 배열을 반환합니다.
MAP_VALUES 맵의 모든 값의 배열을 반환합니다.
MAP_ENTRIES 맵의 키-값 쌍 배열을 반환합니다.

MAP

구문:

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

설명:

일련의 키-값 쌍에서 맵을 구성합니다.

MAP_GET

구문:

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

설명:

지정된 키가 주어지면 맵의 값을 반환합니다. key가 맵에 없거나 map 인수가 MAP이 아닌 경우 ABSENT 값을 반환합니다.

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

구문:

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

설명:

일련의 키-값 쌍으로 콘텐츠가 업데이트된 map 값의 사본을 반환합니다.

주어진 값이 누락된 값으로 확인되면 연결된 키가 맵에서 삭제됩니다.

map 인수가 MAP이 아니면 누락된 값을 반환합니다.

MAP_REMOVE

구문:

map_remove(map: MAP, key: STRING...) -> MAP

설명:

일련의 키가 삭제된 map 값의 사본을 반환합니다.

MAP_MERGE

구문:

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

두 개 이상의 맵의 콘텐츠를 병합합니다. 여러 맵에 충돌하는 값이 있는 경우 마지막 값이 사용됩니다.

CURRENT_CONTEXT

구문:

current_context() -> MAP

현재 실행 지점에서 사용 가능한 모든 필드로 구성된 맵을 반환합니다.

MAP_KEYS

구문:

map_keys(map: MAP) -> ARRAY<STRING>

설명:

map 값의 모든 키가 포함된 배열을 반환합니다.

MAP_VALUES

구문:

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

설명:

map 값의 모든 값이 포함된 배열을 반환합니다.

MAP_ENTRIES

구문:

map_entries(map: MAP) -> ARRAY<MAP>

설명:

map 값의 모든 키-값 쌍이 포함된 배열을 반환합니다.

각 키-값 쌍은 kv의 두 항목이 있는 맵 형식입니다.

예:

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