Cũng như DB quan hệ, MongoDB dùng B-tree index để tránh quét toàn collection (COLLSCAN). Mọi collection có sẵn index trên _id. Các loại chính:
- Single field: index một field.
- Compound: nhiều field theo thứ tự — áp dụng leftmost prefix như SQL; thứ tự field quan trọng.
- Multikey: tự động khi index một field là mảng — index từng phần tử.
- Text: hỗ trợ tìm kiếm văn bản đơn giản.
- Geospatial (
2dsphere): truy vấn theo vị trí. - Hashed: dùng cho sharding theo hash.
- TTL: tự xóa document sau thời gian (hợp session, log).
Còn có partial (chỉ index document khớp điều kiện) và unique. Dùng explain() xem truy vấn dùng IXSCAN (tốt) hay COLLSCAN (xấu). Nguyên tắc index/đánh đổi ghi giống DB quan hệ.