Literais

Descrição

Retorna documentos de um conjunto fixo de objetos de documento predefinidos.

Essa etapa é usada com frequência para testar outras etapas isoladamente, mas também pode ser usada como entrada para condições de junção.

Sintaxe

Node.js

const results = await db.pipeline()
  .literals({ name: "joe", age: 10 }, { name: "bob", age: 30 }, { name: "alice", age: 40 })
  .where(field("age").lessThan(35))
  .execute();

...

[
  { name: "joe", age: 10 },
  { name: "bob", age: 30 }
]

Comportamento

A etapa literals(...) só pode ser usada como a primeira etapa em um pipeline (ou subpipeline). A ordem dos documentos retornados do literals corresponde à ordem em que são definidos.

Embora os valores literais sejam os mais comuns, também é possível transmitir expressões, que serão avaliadas e retornadas, permitindo testar diferentes comportamentos de consulta / expressão sem precisar criar dados de teste primeiro.

Por exemplo, o código a seguir mostra como testar rapidamente a função length(...) em alguns conjuntos de teste constantes:

Node.js

const results = await db.pipeline()
  .literals({ x: constant("foo-bar-baz").length() }, { x: constant("bar").length() })
  .execute();

...

[
  { x: 11 },
  { x: 3 }
]