W MongoDB , możesz użyć prefiksu indeksu do zapytania bazy danych. Nie możesz użyć niczego innego. Jeśli zapytanie nie zawiera prefiksu klucza, indeks nie zostanie użyty .
Zakładając proponowany indeks {'key1':1,'key2':1}
:
Zapytania, które będą używać indeksu:
db.some.find({key1 : {$gt : 100}})
- używa prefiksudb.some.find({key1 : {$gt : 100}, key2 : {$lt : 30}})
- używa pełnego indeksudb.some.find({key3 : 'test'}).sort({key1 : 1})
- używa prefiksu do sortowania (dopasowania kierunku)
Zapytania, które NIE będą używać indeksu:
db.some.find({key2 : {$gt : 100}})
- kolejność indeksów ma znaczenie - key2 nie jest prefiksemdb.some.find({key3 : 'test'}).sort({key1 : -1})
- kierunek indeksu ma znaczenie dla indeksów wielokolumnowychdb.some.find({key3 : 'test'}).sort({key2 : 1})
- to nie jest prefiks