Einen Single-Field-Index erstellen
In diesem ersten Schritt verbinden Sie sich mit MongoDB, erstellen eine Datenbank mit einer Beispielsammlung und erstellen dann Ihren ersten Index auf einem einzelnen Feld. Ein Einzel-Feld-Index verbessert die Leistung von Abfragen, die auf diesem spezifischen Feld filtern oder sortieren.
Öffnen Sie zunächst die MongoDB Shell, indem Sie mongosh in Ihrem Terminal eingeben. Dies verbindet Sie mit dem MongoDB-Server, der in Ihrer Umgebung läuft.
mongosh
Sobald Sie sich in der MongoDB Shell befinden, sehen Sie eine > Eingabeaufforderung. Lassen Sie uns eine neue Datenbank namens indexlab erstellen und zu ihr wechseln. Alle nachfolgenden Befehle in diesem Lab werden innerhalb dieser Shell ausgeführt, sofern nicht anders angegeben.
use indexlab
Nun fügen wir einige Beispieldokumente in eine neue Collection namens users ein. Diese Daten werden im gesamten Lab verwendet.
db.users.insertMany([
{ name: "Alice", age: 28, email: "alice@example.com" },
{ name: "Bob", age: 35, email: "bob@example.com" },
{ name: "Charlie", age: 42, email: "charlie@example.com" }
]);
Nachdem unsere Daten vorhanden sind, erstellen wir einen Index auf dem Feld name. Ein Index auf einem einzelnen Feld hilft, Abfragen zu beschleunigen, die nach diesem Feld suchen.
db.users.createIndex({ name: 1 });
Im obigen Befehl gibt { name: 1 } an, dass der Index auf dem Feld name in aufsteigender Reihenfolge erstellt werden soll. Die Verwendung von -1 würde einen absteigenden Index erstellen.
Um zu überprüfen, ob der Index erstellt wurde, können Sie alle Indizes für die Collection users auflisten.
db.users.getIndexes();
Sie sollten zwei Indizes in der Ausgabe sehen. Einer ist der Standard-_id-Index, der von MongoDB für jede Collection erstellt wird, und der andere ist der name_1-Index, den Sie gerade erstellt haben.
[
{ "v": 2, "key": { "_id": 1 }, "name": "_id_" },
{ "v": 2, "key": { "name": 1 }, "name": "name_1" }
]