Covered query là query có thể được trả lời hoàn toàn từ index mà không đọc document. Điều kiện: filter và projection đều nằm trong index, và projection không cần fields ngoài index.
Ví dụ:
javascript
db.users.createIndex({ email: 1, name: 1 })
db.users.find({ email: "a@example.com" }, { email: 1, name: 1, _id: 0 })Covered query giảm I/O, nhưng thêm fields vào index cũng tăng storage/write cost.
Không nên tạo index quá rộng chỉ để covered mọi thứ.