A covered query can be answered using only an index, without fetching the full document. It can be faster because it avoids reading documents from disk/memory. You get it when the filter and the returned fields are all in the same index (and you don’t need any other fields).
db.users.createIndex({ email: 1, createdAt: 1 })
// Only indexed fields are returned => can be covered
db.users.find({ email: "[email protected]" }, { _id: 0, email: 1, createdAt: 1 })