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?