I MongoDB , kan du använda indexprefix för att fråga databasen. Du kan inte använda något annat. Om din fråga inte innehåller nyckelprefix kommer indexet inte att användas .
Förutsatt ditt föreslagna index {'key1':1,'key2':1}
:
Frågor som använder index:
db.some.find({key1 : {$gt : 100}})
- använder prefixdb.some.find({key1 : {$gt : 100}, key2 : {$lt : 30}})
- använder fullständigt indexdb.some.find({key3 : 'test'}).sort({key1 : 1})
- använder prefix för sortering (riktningsmatchning)
Frågor som INTE kommer att använda index:
db.some.find({key2 : {$gt : 100}})
- indexordning spelar roll - nyckel2 är inte prefixdb.some.find({key3 : 'test'}).sort({key1 : -1})
- indexriktningen är viktig för index med flera kolumnerdb.some.find({key3 : 'test'}).sort({key2 : 1})
- det är inte prefix