Referencia de funciones genéricas
Funciones genéricas
| Nombre | Descripción |
CURRENT_DOCUMENT
|
Devuelve el documento que se está procesando actualmente en la canalización. |
CONCAT
|
Concatena dos o más valores del mismo tipo. |
LENGTH
|
Calcula la longitud de un valor String, Bytes, Array, Vector o Map.
|
REVERSE
|
Invierte un valor String, Bytes o Array.
|
CURRENT_DOCUMENT
Sintaxis:
current_document() -> MAP
Descripción:
Se evalúa como un mapa que contiene todos los campos definidos en el alcance actual. Esto es útil cuando se combinan o agregan varios documentos, o cuando se desean inspeccionar de forma dinámica los nombres de los campos en el documento.
Por ejemplo, para obtener una lista de documentos agrupados por un campo, haz lo siguiente:
Node.js
const cities = await db.pipeline()
.collection("/restaurants")
.aggregate({
groups: [ field("location.state").as("state") ],
accumulators: [ arrayAgg(currentDocument().as("restaurants")) ]
})
.execute();
CONCAT
Sintaxis:
concat[T <: STRING | BYTES | ARRAY](values:T ...) -> T
Descripción:
Concatena dos o más valores del mismo tipo.
Ejemplos:
| valores | concat(values) |
|---|---|
| "abc", "def" | "abcdef" |
| [1, 2], [3, 4] | [1, 2, 3, 4] |
| b"abc", b"def" | b"abcdef" |
| "abc", [1,2,3], "ghi" | error |
| [1,2,3] | error |
| "abc", null | nulo |
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
Android
val displayString = constant("Author ID: ").concat(field("authorId"))
Java
Android
Expression displayString = constant("Author ID: ").concat(field("authorId"));
Python
Constant.of("Author ID: ").concat(Field.of("authorId"))
LENGTH
Sintaxis:
length[T <: STRING | BYTES | ARRAY | VECTOR | MAP](value: T) -> INT64
Descripción:
Calcula la longitud de un valor String, Bytes, Array, Vector o Map.
Ejemplos:
| valor | length(value) |
|---|---|
| "hello" | 5 |
| [1, 2, 3, 4] | 4 |
| b"abcde" | 5 |
| null | nulo |
| 1 | error |
REVERSE
Sintaxis:
reverse[T <: STRING | BYTES | ARRAY](value: T) -> T
Descripción:
Invierte un valor String, Bytes o Array.
Ejemplos:
| valor | reverse(value) |
|---|---|
| "hello" | "olleh" |
| [1, 2, 3] | [3, 2, 1] |
| b"abc" | b"cba" |
| 23 | error |
| nulo | null |
¿Qué sigue?
- Consulta la descripción general de las consultas de canalización.