Referência de funções genéricas

Funções genéricas

Nome Descrição
CURRENT_DOCUMENT Retorna o documento que está sendo processado no pipeline.
CONCAT Concatena dois ou mais valores do mesmo tipo.
LENGTH Calcula o comprimento de um String, Bytes, Array, Vector ou Map.
REVERSE Inverte um String, Bytes ou Array.

CURRENT_DOCUMENT

Sintaxe:

current_document() -> MAP

Descrição:

Avalia um mapa que contém todos os campos definidos no escopo atual. Isso é útil ao mesclar ou agregar vários documentos ou quando você quer inspecionar dinamicamente os nomes dos campos no documento.

Por exemplo, para receber uma lista de documentos agrupados por um campo:

Node.js

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

CONCAT

Sintaxe:

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

Descrição:

Concatena dois ou mais valores do mesmo tipo.

Exemplos:

values concat(values)
"abc", "def" "abcdef"
[1, 2], [3, 4] [1, 2, 3, 4]
b"abc", b"def" b"abcdef"
"abc", [1,2,3], "ghi" erro
[1,2,3] erro
"abc", null 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
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

Sintaxe:

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

Descrição:

Calcula o comprimento de um valor String, Bytes, Array, Vector ou Map.

Exemplos:

valor length(value)
"hello" 5
[1, 2, 3, 4] 4
b"abcde" 5
null null
1 erro

REVERSE

Sintaxe:

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

Descrição:

Inverte um valor String ou Bytes.

Exemplos:

valor reverse(value)
"hello" "olleh"
[1, 2, 3] [3, 2, 1]
b"abc" b"cba"
23 erro
null null

A seguir