Trong MongoDB , bạn có thể sử dụng tiền tố chỉ mục để truy vấn cơ sở dữ liệu. Bạn không thể sử dụng bất cứ thứ gì khác. Nếu truy vấn của bạn không chứa tiền tố khóa thì chỉ mục sẽ không được sử dụng .
Giả sử chỉ mục được đề xuất của bạn {'key1':1,'key2':1}
:
Các truy vấn sẽ sử dụng chỉ mục:
-
db.some.find({key1 : {$gt : 100}})
- sử dụng tiền tố -
db.some.find({key1 : {$gt : 100}, key2 : {$lt : 30}})
- sử dụng chỉ mục đầy đủ -
db.some.find({key3 : 'test'}).sort({key1 : 1})
- sử dụng tiền tố để sắp xếp (đối sánh hướng)
Các truy vấn KHÔNG sử dụng chỉ mục:
-
db.some.find({key2 : {$gt : 100}})
- vấn đề thứ tự chỉ mục - key2 không phải là tiền tố -
db.some.find({key3 : 'test'}).sort({key1 : -1})
- hướng chỉ mục quan trọng đối với chỉ mục nhiều cột -
db.some.find({key3 : 'test'}).sort({key2 : 1})
- nó không phải là tiền tố