Văn bản

Mô tả

Trả về các 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ử các giai đoạn khác một cách riêng biệt, mặc dù cũng có thể dùng làm dữ liệu đầu vào cho các điều kiện kết hợp.

Cú pháp

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

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ự mà chúng được xác định.

Mặc dù giá trị theo nghĩa đen 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 có thể kiểm thử hành vi truy vấn / biểu thức khác nhau mà không cần tạo dữ liệu kiểm thử trước.

Ví dụ: sau đây cho thấy cách nhanh chóng kiểm thử hàm length(...) trên một số bộ kiểm thử hằng số:

Node.js

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

...

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