Общие функции, Общие функции

Обобщенные функции

Имя Описание
CURRENT_DOCUMENT Возвращает документ, который в данный момент обрабатывается в конвейере.
CONCAT Объединяет два или более значений одного типа.
LENGTH Вычисляет длину String , Bytes , Array , Vector или Map .
REVERSE Переворачивает String , Bytes или Array .

ТЕКУЩИЙ_ДОКУМЕНТ

Синтаксис:

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[T <: STRING | BYTES | ARRAY](values:T ...) -> T

Описание:

Объединяет два или более значений одного типа.

Примеры:

ценности concat(values)
"abc", "def" "abcdef"
[1, 2], [3, 4] [1, 2, 3, 4]
b"abc", b"def" b"abcdef"
"abc", [1,2,3], "ghi" ошибка
[1,2,3] ошибка
"abc", null нулевой
Node.js
concat(constant("Author ID: "), field("authorId"));

Web

concat(constant("Author ID: "), field("authorId"));
Быстрый
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"));
Python
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
б"абкде" 5
нулевой нулевой
1 ошибка

ОБЕСПЕЧИТЬ РЕГРЕСС

Синтаксис:

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

Описание:

Переворачивает значение String , Bytes или Array .

Примеры:

ценить reverse(value)
"привет" "оллех"
[1, 2, 3] [3, 2, 1]
б"абк" б"кба"
23 ошибка
нулевой нулевой