In MongoDB , können Sie das Indexpräfix verwenden, um die Datenbank abzufragen. Du kannst nichts anderes verwenden. Wenn Ihre Abfrage kein Schlüsselpräfix enthält, wird der Index nicht verwendet .
Angenommen Ihr vorgeschlagener Index {'key1':1,'key2':1}
:
Abfragen, die den Index verwenden:
db.some.find({key1 : {$gt : 100}})
- verwendet Präfixdb.some.find({key1 : {$gt : 100}, key2 : {$lt : 30}})
- verwendet den vollständigen Indexdb.some.find({key3 : 'test'}).sort({key1 : 1})
- verwendet Präfix für die Sortierung (Richtungsübereinstimmung)
Abfragen, die den Index NICHT verwenden:
db.some.find({key2 : {$gt : 100}})
- Indexreihenfolge ist wichtig - key2 ist kein Präfixdb.some.find({key3 : 'test'}).sort({key1 : -1})
- Indexrichtung spielt bei mehrspaltigen Indizes eine Rolledb.some.find({key3 : 'test'}).sort({key2 : 1})
- es ist kein Präfix