Обобщенные функции
| Имя | Описание |
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 | ошибка |
| нулевой | нулевой |