ליטרליים

תיאור

מחזירה מסמכים מקבוצה קבועה של אובייקטים מוגדרים מראש של מסמכים.

בדרך כלל משתמשים בשלב הזה כדי לבדוק שלבים אחרים בנפרד, אבל אפשר להשתמש בו גם כקלט לתנאי הצטרפות.

תחביר

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