توابع عمومی

عملکردهای عمومی

نام شرح
CURRENT_DOCUMENT سندی را که درحال‌حاضر در خط لوله پردازش می‌شود برمی‌گرداند.
CONCAT دو یا چند مقدار از یک نوع را به‌هم متصل می‌کند.
LENGTH طول String،‏ Bytes،‏ Array،‏ Vector، یا Map را محاسبه می‌کند.
REVERSE ‫String،‏ Bytes، یا Array را برمی‌گرداند.

CURRENT_DOCUMENT

نحو:

current_document() -> MAP

شرح:

به نقشه‌ای ارزیابی می‌شود که همه فیلدهای تعریف‌شده در محدوده فعلی را دربرمی‌گیرد. این ویژگی هنگام ادغام یا تجمیع چندین سند با یکدیگر یا زمانی که می‌خواهید نام فیلدها را در سند به‌صورت پویا بررسی کنید، مفید است.

برای مثال، برای دریافت فهرست اسناد گروه‌بندی‌شده براساس یک فیلد:

Node.js

const cities = await db.pipeline()
  .collection("/restaurants")
  .aggregate({
    groups: [ field("location.state").as("state") ],
    accumulators: [ arrayAgg(currentDocument().as("restaurants")) ]
   })
  .execute();

CONCAT

نحو:

concat[T <: STRING | BYTES | ARRAY](values:T ...) -> T

شرح:

دو یا چند مقدار از یک نوع را به‌هم متصل می‌کند.

نمونه:

مقادیر concat(values)
«abc»، «def» «abcdef»
[۱، ۲]، [۳، ۴] [1, 2, 3, 4]
b"abc", b"def" b"abcdef"
«abc»،‏ [۱،۲،۳]،‏ «ghi» خطا
[۱،۲،۳] خطا
"abc", null تهی
Node.js
concat(constant("Author ID: "), field("authorId"));

Web

concat(constant("Author ID: "), field("authorId"));
Swift
let displayString = Constant("Author ID: ").concat([Field("authorId")])

Kotlin

val displayString = constant("Author ID: ").concat(field("authorId"))

Java

Expression displayString = constant("Author ID: ").concat(field("authorId"));
پایتون
Constant.of("Author ID: ").concat(Field.of("authorId"))

طول

نحو:

length[T <: STRING | BYTES | ARRAY | VECTOR | MAP](value: T) -> INT64

شرح:

طول مقدار String،‏ Bytes،‏ Array،‏ Vector، یا Map را محاسبه می‌کند.

نمونه:

مقدار length(value)
«سلام» 5
[1, 2, 3, 4] 4
b"abcde" 5
تهی تهی
1 خطا

برعکس

نحو:

reverse[T <: STRING | BYTES | ARRAY](value: T) -> T

شرح:

مقدار String،‏ Bytes، یا Array را معکوس می‌کند.

نمونه:

مقدار reverse(value)
«سلام» «olleh»
[۱، ۲، ۳] [3, 2, 1]
b"abc" b"cba"
23 خطا
تهی تهی