Valori letterali

Descrizione

Restituisce documenti da un insieme fisso di oggetti documento predefiniti.

Questa fase viene comunemente utilizzata per testare altre fasi in isolamento, anche se può essere utilizzata anche come input per le condizioni di unione.

Sintassi

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

La fase literals(...) può essere utilizzata solo come prima fase di una pipeline (o di una pipeline secondaria). L'ordine dei documenti restituiti da literals corrisponde all'ordine in cui sono definiti.

Sebbene i valori letterali siano i più comuni, è anche possibile passare espressioni, che verranno valutate e restituite, consentendo di testare diversi comportamenti di query / espressioni senza prima dover creare alcuni dati di test.

Ad esempio, il seguente codice mostra come testare rapidamente la funzione length(...) su alcuni set di test costanti:

Node.js

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

...

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