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