Văn bản

Mô tả

Trả về tài liệu từ một tập hợp cố định gồm các đối tượng tài liệu được xác định trước.

Giai đoạn này thường được dùng để kiểm thử riêng các giai đoạn khác, mặc dù bạn cũng có thể dùng giai đoạn này làm dữ liệu đầu vào cho các điều kiện kết hợp.

Ví dụ

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

Hành vi

Bạn chỉ có thể dùng giai đoạn literals(...) làm giai đoạn đầu tiên trong một quy trình (hoặc quy trình con). Thứ tự của các tài liệu được trả về từ literals(...) khớp với thứ tự xác định các tài liệu đó.

Mặc dù giá trị cố định là phổ biến nhất, nhưng bạn cũng có thể truyền các biểu thức. Các biểu thức này sẽ được đánh giá và trả về, giúp bạn kiểm thử hành vi của các truy vấn / biểu thức khác nhau mà không cần tạo một số dữ liệu kiểm thử trước.

Ví dụ: sau đây cho biết cách nhanh chóng kiểm thử hàm length(...) trên một số tập hợp kiểm thử không đổi:

Node.js

const results = await db.pipeline()
  .literals({ x: constant("foo-bar-baz").length() }, { x: constant("bar").length() })
  .execute();

...

[
  { x: 11 },
  { x: 3 }
]