Littéraux

Description

Renvoie des documents à partir d'un ensemble fixe d'objets de document prédéfinis.

Cette étape est généralement utilisée pour tester d'autres étapes de manière isolée, mais elle peut également servir d'entrée pour joindre des conditions.

Exemples

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

Comportement

L'étape literals(...) ne peut être utilisée que comme première étape d'un pipeline (ou d'un sous-pipeline). L'ordre des documents renvoyés par literals(...) correspond à l'ordre dans lequel ils sont définis.

Bien que les valeurs littérales soient les plus courantes, il est également possible de transmettre des expressions, qui seront évaluées et renvoyées. Vous pouvez ainsi tester différents comportements de requête / d'expression sans avoir à créer au préalable des données de test.

Par exemple, le code suivant montre comment tester rapidement la fonction length(...) sur des ensembles de tests constants :

Node.js

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

...

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