عملکردهای نقشه

عملکردهای نقشه

نام شرح
MAP مقدار نقشه را از مجموعه‌ای از جفت‌های کلید-مقدار می‌سازد
MAP_GET مقدار را در نقشه با کلید مشخص‌شده برمی‌گرداند
MAP_SET نسخه‌ای از نقشه را با مجموعه‌ای از کلیدهای به‌روزشده برمی‌گرداند
MAP_REMOVE نسخه‌ای از نقشه را با مجموعه‌ای از کلیدهای حذف‌شده برمی‌گرداند
MAP_MERGE مجموعه‌ای از نقشه‌ها را باهم ادغام می‌کند.
CURRENT_CONTEXT بافت کنونی را به‌صورت نقشه برمی‌گرداند.
MAP_KEYS آرایه‌ای از همه کلیدها را در نقشه برمی‌گرداند.
MAP_VALUES آرایه‌ای از همه مقادیر را در نقشه برمی‌گرداند.
MAP_ENTRIES آرایه‌ای از جفت‌های کلید-مقدار یک نقشه را برمی‌گرداند.

نقشه

نحو:

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

شرح:

نقشه‌ای از مجموعه‌ای از جفت‌های کلید-مقدار می‌سازد.

MAP_GET

نحو:

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

شرح:

مقدار را در نگاشت با کلید مشخص‌شده برمی‌گرداند. اگر key در نقشه وجود نداشته باشد یا اگر آرگومان map از نوع MAP نباشد، مقدار ABSENT را برمی‌گرداند.

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();
پایتون
from google.cloud.firestore_v1.pipeline_expressions import Field

result = (
    client.pipeline()
    .collection("books")
    .select(Field.of("awards").map_get("pulitzer").as_("hasPulitzerAward"))
    .execute()
)
جاوا
Pipeline.Snapshot result =
    firestore
        .pipeline()
        .collection("books")
        .select(mapGet(field("awards"), "pulitzer").as("hasPulitzerAward"))
        .execute()
        .get();
رفتن
snapshot := client.Pipeline().
	Collection("books").
	Select(firestore.Fields(
		firestore.MapGet(firestore.FieldOf("awards"), "pulitzer").As("hasPulitzerAward"),
	)).
	Execute(ctx)

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 برمی‌گرداند.

هر جفت کلید-مقدار به‌صورت یک نقشه با دو ورودی k و v خواهد بود.

نمونه:

map map_entries(map)
{} [زود می‌آیی][زود می‌آیین][زود میآیی][زود میآیین][الآن می‌آیی][الآن می‌آیین][الآن میایی][الآن میایین][چقدر دیگه می‌رسی][چقدر دیگه می‌رسین][کی می‌رسی][کی می‌رسین][کی می‌رسید][کی می‌رسی اینجا][کی می‌رسین اینجا][کی می‌رسید اینجا][کی می‌رسی آنجا][کی می‌رسین آنجا][کی می‌رسید آنجا][کی می‌رسی اونجا][کی می‌رسین اونجا][کی می‌رسید اونجا][کی اینجا می‌رسی][کی اینجا می‌رسین][کی اینجا می‌رسید][کی میرسی اینجا][کی میرسین اینجا][کی میرسید اینجا][کی فکر می‌کنی میرسی][کی فکر می‌کنی میرسین][کی فکر می‌کنی میرسید][کی فکر میکنی میرسی][کی فکر میکنی میرسین][کی فکر میکنی میرسید][تا کی میرسی][تا کی میرسین][تا کی میرسید][چقدر دیگه می‌رسی][چقدر دیگه می‌رسین][چقدر دیگه می‌رسید][فکر می‌کنی چقدر دیگه برسی][فکر می‌کنی چقدر دیگه برسین][فکر می‌کنی چقدر دیگه برسی][حدوداً کی می‌رسی][حدوداً کی می‌رسین][حدوداً کی می‌رسید][کی فکر می‌کنی اینجایی][کی فکر می‌کنی اینجایین][کی فکر می‌کنی اینجایید][کی فکر میکنی اونجایی][کی فکر میکنی اونجایی][کی فکر میکنی اونجایید][چند دقیقه دیگه؟][کی؟][حدوداً؟][فکر می‌کنی چقدر دیگه برسی][[فکر می‌کنی چقدر دیگه برسین][فکر می‌کنی چقدر دیگه برسید]فکر می‌کنی چند دقیقه دیگه؟][فکرمیکنی کی؟][فکر می‌کنی چند دقیقه دیگه؟][فکرمی‌کنی کی؟][فکر میکنی چند دقیقه دیگه؟][زمان تقریبی ورود؟][زمان تقریبی رسیدن؟][تقریباً؟][نزدیکی؟][چقدر دیگه؟][کی؟][اینجا؟][اونجا؟][آنجا؟][سر میدونی؟][سر میدونین؟][سر کوچه‌ای؟][سر کوچه‌این؟][پشت دری؟][پشت درین؟][حالا؟]
{"foo" : 2L} [{"k": "foo", "v" : 2L}]
{"foo" : "bar", "bar" : "foo"} [{"k": "foo", "v" : "bar" }, {"k" : "bar", "v": "foo"}]