In MongoDB , è possibile utilizzare il prefisso di indice per interrogare il database. Non puoi usare nient'altro. Se la tua query non contiene il prefisso chiave, l'indice non verrà utilizzato .
Supponendo che il tuo indice proposto {'key1':1,'key2':1}
:
Query che utilizzeranno index:
db.some.find({key1 : {$gt : 100}})
- usa il prefissodb.some.find({key1 : {$gt : 100}, key2 : {$lt : 30}})
- utilizza l'indice completodb.some.find({key3 : 'test'}).sort({key1 : 1})
- usa il prefisso per l'ordinamento (corrispondenza della direzione)
Query che NON utilizzeranno index:
db.some.find({key2 : {$gt : 100}})
- l'ordine dell'indice è importante - key2 non è un prefissodb.some.find({key3 : 'test'}).sort({key1 : -1})
- la direzione dell'indice è importante per gli indici a più colonnedb.some.find({key3 : 'test'}).sort({key2 : 1})
- non è un prefisso