So sánh các số
Thuộc phần Cơ sở dữ liệu với MongoDB trong hành trình Node.js của Coddy. Bài học 8 trên 29.
Bộ lọc có thể khớp với một giá trị chính xác hoặc so sánh một khoảng số. Để khớp với một khoảng, hãy dùng toán tử so sánh bên trong bộ lọc của trường. $gte có nghĩa là lớn hơn hoặc bằng.
const minimum = Number(input.minimum);
const list = await products.find({price: {$gte: minimum}}).toArray();Giá trị trong chuỗi truy vấn được truyền đến dưới dạng văn bản. Hãy chuyển đổi giới hạn số bằng Number trước khi so sánh với các số đã lưu. Ví dụ này chọn các sản phẩm có giá ít nhất bằng mức tối thiểu được yêu cầu. Kết quả vẫn là một mảng ngay cả khi chỉ có một tài liệu khớp. Bài học tiếp theo kết hợp các bộ lọc không bắt buộc trên tuyến giá sách.
Thử thách
DễTrong exercise.js, trả về các sách có năm dạng số lớn hơn hoặc bằng input.from. Máy chủ lấy giá trị đó từ chuỗi truy vấn. Trả về các tài liệu khớp, sử dụng collection đã cho.
Thử GET /result?from=1960: Dune và Kindred khớp. Thử ?from=1970: chỉ Kindred khớp. Thử ?from=2000: trả về một mảng rỗng. Đầu vào trong bài tập này đều là các năm dạng số hợp lệ.
Để cơ sở dữ liệu (database) so sánh các năm bằng $gte. Mốc 1965 bao gồm cả Dune lẫn Kindred.
Tự làm thử
export async function exercise(books, input) {
return await books.find().toArray();
}
Tất cả bài học trong Cơ sở dữ liệu với MongoDB
Tự luyện tập: Playground Express