Chọn các trường được trả về
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 10 trên 29.
Trang danh sách có thể cần tiêu đề mà không cần các trường khác. Phép chiếu chọn những trường mà cơ sở dữ liệu trả về. Đặt phép chiếu làm đối số thứ hai của find. Giá trị 1 sẽ bao gồm một trường.
await books.find({}, {projection: {title: 1, _id: 0}}).toArray();
// [{title:'Dune'}, {title:'Kindred'}, {title:'Emma'}]Bộ lọc trống giữ lại tất cả sách. Phép chiếu thay đổi từng tài liệu được trả về, chứ không thay đổi những sách khớp với bộ lọc. MongoDB thường bao gồm _id ngay cả khi bạn chọn các trường khác; đặt giá trị này thành 0 sẽ loại bỏ trường đó. Các tài liệu được lưu trong thẻ Data vẫn giữ nguyên tất cả các trường ban đầu.
Thử thách
DễĐây là một dự án luyện tập nhỏ. Phần thiết lập đã được cung cấp, chỉ chỉnh sửa exercise.js.
Chỉ trả về tiêu đề và năm của mỗi cuốn sách. Bỏ qua _id và thể loại. Chạy và GET /result: kết quả đầu tiên là {"title":"Dune","year":1965}. Kiểm tra thẻ Data: thể loại vẫn tồn tại trong kho lưu trữ.
Tự làm thử
export async function exercise(books) {
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