커버링 인덱스는 인덱스의 종류를 뜻하는 것이 아니다. (오해 하지 말자)
특별히 질의가 필요로 하는 모든 데이터가 인덱스 내에 있을때 "인덱스가 쿼리를 커버한다"라고 말한다. 커버드 인덱스 질의(covered index query)는 인덱스된 도큐먼트 자체를 참조하지 않고서도 질의를 수행할 수 있으므로 인덱스만의 쿼리(index-only query)라고도 하며, 쿼리 성능이 향상 될 수 있다.
몽고DB에서 커버링 인덱스를 사용하려면, 인덱스에서 반환할 필드를 선택하고, _id 를 제외하면 된다. (_id 필드는 인덱스의 일부로 사용하지 않기 때문이다.)
db.values.find({ close: 1 }, { open :1, close: 1, date: 1, _id: 0 })
인덱스가 쿼리를 커버하는 경우, explain 결과에는 FETCH 단계의 하위가 아닌 IXSCAN 단계가 있으며, exectionStats에서 totalDocsExamined의 값이 0 이다.