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ı olarak test etmek için kullanılır ancak birleştirme koşullarına giriş olarak da kullanılabilir.

Örnekler

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

Davranış

literals(...) aşaması yalnızca bir ardışık düzendeki (veya alt ardışık düzendeki) ilk aşama olarak kullanılabilir. literals(...) eşleşmelerinden döndürülen dokümanların sırası, tanımlandıkları sırayla aynıdır.

En yaygın olanı değişmez değerler olsa da ifadeler de iletilebilir. 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 etmek mümkün olur.

Örneğin, aşağıdaki örnekte 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 }
]