أدبي

الوصف

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

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

البنية

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