Di MongoDB , Anda dapat menggunakan awalan indeks untuk mengkueri database. Anda tidak dapat menggunakan yang lain. Jika kueri Anda tidak berisi awalan kunci, indeks tidak akan digunakan .
Dengan asumsi indeks yang Anda usulkan {'key1':1,'key2':1}
:
Kueri yang akan menggunakan indeks:
db.some.find({key1 : {$gt : 100}})
- menggunakan awalandb.some.find({key1 : {$gt : 100}, key2 : {$lt : 30}})
- menggunakan indeks penuhdb.some.find({key3 : 'test'}).sort({key1 : 1})
- menggunakan awalan untuk pengurutan (pencocokan arah)
Kueri yang TIDAK akan menggunakan indeks:
db.some.find({key2 : {$gt : 100}})
- urutan indeks penting - key2 bukan awalandb.some.find({key3 : 'test'}).sort({key1 : -1})
- arah indeks penting untuk indeks multikolomdb.some.find({key3 : 'test'}).sort({key2 : 1})
- itu bukan awalan