Dans MongoDB , vous pouvez utiliser le préfixe d'index pour interroger la base de données. Vous ne pouvez rien utiliser d'autre. Si votre requête ne contient pas de préfixe de clé, l'index ne sera pas utilisé .
En supposant que votre index proposé {'key1':1,'key2':1}
:
Requêtes qui utiliseront l'index :
db.some.find({key1 : {$gt : 100}})
- utilise le préfixedb.some.find({key1 : {$gt : 100}, key2 : {$lt : 30}})
- utilise l'index completdb.some.find({key3 : 'test'}).sort({key1 : 1})
- utilise un préfixe pour le tri (correspondance de direction)
Requêtes qui n'utiliseront PAS l'index :
db.some.find({key2 : {$gt : 100}})
- l'ordre de l'index est important - key2 n'est pas un préfixedb.some.find({key3 : 'test'}).sort({key1 : -1})
- la direction de l'index est importante pour les index multicolonnesdb.some.find({key3 : 'test'}).sort({key2 : 1})
- ce n'est pas un préfixe