أدبي

الوصف

لعرض مستندات من مجموعة ثابتة من كائنات المستندات المحدّدة مسبقًا.

تُستخدَم هذه المرحلة عادةً لاختبار مراحل أخرى بشكل منفصل، ولكن يمكن استخدامها أيضًا كإدخال لشروط الربط.

أمثلة

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

السلوك

لا يمكن استخدام مرحلة 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 }
]