No MongoDB , você pode usar o prefixo de índice para consultar o banco de dados. Você não pode usar mais nada. Se sua consulta não contiver prefixo de chave, o índice não será usado .
Supondo que seu índice proposto
{'key1':1,'key2':1}
:Consultas que usarão o índice:
db.some.find({key1 : {$gt : 100}})
- usa prefixodb.some.find({key1 : {$gt : 100}, key2 : {$lt : 30}})
- usa índice completodb.some.find({key3 : 'test'}).sort({key1 : 1})
- usa prefixo para classificar (correspondência de direção)
Consultas que NÃO usarão índice:
db.some.find({key2 : {$gt : 100}})
- a ordem do índice é importante - key2 não é prefixodb.some.find({key3 : 'test'}).sort({key1 : -1})
- a direção do índice é importante para índices de várias colunasdb.some.find({key3 : 'test'}).sort({key2 : 1})
- não é prefixo