Değişmez değerler

Açıklama

Önceden tanımlanmış sabit bir doküman nesnesi kümesinden dokümanlar döndürür.

Bu aşama genellikle diğer aşamaları ayrı ayrı test etmek için kullanılır ancak birleştirme koşullarına giriş olarak da kullanılabilir.

Söz dizimi

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 }
]

Davranış

literals(...) aşaması yalnızca bir işlem hattındaki (veya alt işlem hattındaki) ilk aşama olarak kullanılabilir. literals işlevinden döndürülen belgelerin sırası, tanımlandıkları sırayla aynıdır.

En yaygın olanı değişmez değerler olsa da ifadeler de iletmek mümkündür. Bu ifadeler değerlendirilip döndürülür. Böylece, önce test verileri oluşturmaya gerek kalmadan farklı sorgu / ifade davranışlarını test edebilirsiniz.

Örneğin, aşağıda length(...) işlevinin bazı sabit test kümelerinde nasıl hızlı bir şekilde test edileceği gösterilmektedir:

Node.js

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

...

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