リテラル

説明

事前定義された固定のドキュメント オブジェクト セットからドキュメントを返します。

このステージは、結合条件の入力としても使用できますが、一般に他のステージを個別にテストするために使用されます。

構文

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

動作

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