Литералы

Описание

Возвращает документы из фиксированного набора предопределенных объектов документов.

Этот этап обычно используется для тестирования других этапов по отдельности, хотя его также можно использовать в качестве входных данных для условий объединения.

Примеры

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();

Поведение

Этап literals(...) может использоваться только в качестве первого этапа конвейера (или подконвейера). Порядок документов, возвращаемых из literals(...) соответствует порядку их определения.

Хотя литеральные значения являются наиболее распространенными, также можно передавать выражения, которые будут вычислены и возвращены, что позволяет тестировать различное поведение запросов/выражений без предварительного создания тестовых данных.

Например, ниже показано, как быстро протестировать функцию length(...) на нескольких постоянных тестовых наборах данных:

Node.js

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

...

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