MongoDB-Indizierungs-Tutorial mit Beispiel

Ein Index in MongoDB ist eine spezielle Datenstruktur, die die Daten einiger Felder von Dokumenten enthält, für die der Index erstellt wird. Indizes verbessern die Geschwindigkeit der Suchvorgänge in der Datenbank, da statt das gesamte Dokument zu durchsuchen, die Suche in den Indizes durchgeführt wird, die nur wenige Felder enthalten. Andererseits können zu viele Indizes die Leistung von Einfüge-, Aktualisierungs- und Löschvorgängen aufgrund des zusätzlichen Schreib- und zusätzlichen Datenspeichers, der von Indizes verwendet wird, beeinträchtigen.

So erstellen Sie einen Index in MongoDB

Syntax:

db.collection_name.createIndex({field_name: 1 or -1})

Der Wert 1 steht für aufsteigende Reihenfolge und -1 steht für absteigende Reihenfolge.

Zum Beispiel habe ich eine Sammlung studentdata . Die Dokumente in dieser Sammlung haben folgende Felder:
student_name, student_id und student_age

Nehmen wir an, ich möchte den Index für das Feld student_name in aufsteigender Reihenfolge erstellen:

db.studentdata.createIndex({student_name: 1})

Ausgabe:

{ "createdCollectionAutomatically" : false, "numIndexesBefore" : 1, "numIndexesAfter" : 2, "ok" : 1}

MongoDB Index erstellen

Wir haben den Index für student_name erstellt, was bedeutet, dass die Suche schneller ist, wenn jemand das Dokument basierend auf dem student_name durchsucht, da der Index für diese Suche verwendet wird. Dies ist daher wichtig, um den Index für das Feld zu erstellen, das in einer Sammlung häufig durchsucht wird.

MongoDB – Finden der Indizes in einer Sammlung

Wir können die Methode getIndexes() verwenden, um alle in einer Sammlung erstellten Indizes zu finden. Die Syntax für diese Methode lautet:

db.collection_name.getIndexes()

Um also die Indizes der studentdata Sammlung zu erhalten, wäre der Befehl:

> db.studentdata.getIndexes()

Die Ausgabe zeigt, dass wir zwei Indizes in dieser Sammlung haben. Der Standardindex, der für _id erstellt wurde, und der Index, den wir für das Feld student_name erstellt haben.

MongoDB – Indizes in einer Sammlung ablegen

Sie können entweder einen bestimmten Index oder alle Indizes löschen.

Löschen eines bestimmten Index:
Zu diesem Zweck wird die dropIndex() -Methode verwendet.

db.collection_name.dropIndex({index_name: 1})

Lassen Sie den Index, den wir erstellt haben, auf student_name Feld in der Sammlung studentdata . Der Befehl dafür:

db.studentdata.dropIndex({student_name: 1})

MongoDB Drop Index
nIndexesWas: Es zeigt an, wie viele Indizes vorhanden waren, bevor dieser Befehl ausgeführt wurde
ok: 1: Dies bedeutet, dass der Befehl erfolgreich ausgeführt wurde.

Dropping alle Indizes:
Um alle Indizes einer Sammlung fallen, verwenden wir dropIndexes() Methode.
Syntax der dropIndexs() Methode:

db.collection_name.dropIndexes()

Nehmen wir an, wir möchten alle Indizes der studentdata -Sammlung löschen.

db.studentdata.dropIndexes()

MongoDB Alle Indizes löschen

Die Meldung „non-_id indices dropped for collection“ zeigt an, dass der Standardindex _id weiterhin erhalten bleibt und nicht gelöscht werden kann. Dies bedeutet, dass wir mit dieser Methode nur Indizes löschen können, die wir erstellt haben.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.