MongoDB: Mit der Create-Index-Funktion Indexe erstellen

Mit der MongoDB-Funktion Create Index erstellen Sie einen Index, schaffen so eine bessere Übersicht und erleichtern die Beantwortung von Anfragen. Mit verschiedenen Parametern können Sie den Index noch anpassen.

Was ist MongoDB Create Index?

Um zu verstehen, wofür man in MongoDB Create Index verwendet und warum die Funktion für die tägliche Arbeit mit dem Datenbankmanagementsystem so wichtig ist, lohnt sich ein Blick auf den Aufbau von MongoDB: Anders als relationale Systeme wie MySQL setzt die NoSQL-Lösung nicht auf Tabellen, sondern auf Dokumente, die in Sammlungen oder Collections gespeichert werden. Diese müssen dabei keinem Schema folgen, sind skalierbar und sehr flexibel. Auf diese Weise können riesige Datenbanken angelegt, Collections erstellt und Dokumente eingespeist werden. Senden Sie nun aber eine Anfrage, um bestimmte Daten oder Datensätze zu lokalisieren, benötigen Sie eine Ordnung. Diese wird durch Indexe erreicht.

Ein Index schafft nicht nur mehr Ordnung in einer Datenbank, sondern erleichtert dem System auch die Verarbeitung von Suchanfragen. In einer riesigen Sammlung von vielen Tausend Dokumenten entstehen ansonsten nicht nur längere Wartezeiten, sondern auch unübersichtliche Treffer. Statten Sie die Dokumente hingegen mit Indexen aus, werden diese besser sortiert und so auch schneller gefunden. Da nur ein Teil der Dokumente gelesen werden muss, ist die Suche deutlich effizienter. Für diesen Vorgang nutzen Sie den MongoDB Command Create Index.

Die Syntax von MongoDB Create Index

Die MongoDB-Methode Create Index setzt sich aus dem Anzeigen der Collection, dem eigentlichen Befehl, dem Kriterium für Suchanfragen und einer Zählrichtung zusammen:

>db.COLLECTION_NAME.createIndex ( {KEY:1} )

„COLLECTION_NAME“ bezeichnet den Namen der Sammlung, in der der Index angelegt werden soll. „createIndex“ ist der entsprechende Befehl, „KEY“ bezeichnet das Feld innerhalb der Collection und die „1“ gibt an, dass die Sortierung in aufsteigender Reihenfolge vorgenommen werden soll. Für die entgegengesetzte Richtung wählen Sie „-1“.

MongoDB: Beispiel für den Einsatz von Create Index

Um die Funktionsweise und den Nutzen von Create Index noch besser zu verstehen, nutzen wir ein einfaches Beispiel, das wie folgt aussieht:

>db.beispiel.createIndex ( {"title":1} )

Die Ausgabe sieht folgendermaßen aus:

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

Die erste Zeile gibt an, dass die Sammlung manuell mit MongoDB Create Collection erstellt wurde. Die zweite Zeile zeigt, wie viele Indexe es gibt, bevor der Befehl ausgeführt wird. In der dritten Zeile wird die Anzahl der Indexe nach dem Befehl angezeigt und in der vierten Zeile wird auf den Erfolg der Operation hingewiesen.

Optionen für die MongoDB-Funktionen Create Index

Zur Optimierung der Funktion Create Index können Sie in MongoDB verschiedene zusätzliche Optionen einsetzen. Ihr Platz ist innerhalb der Klammern hinter den Keys. Folgende Optionen stehen Ihnen zur Verfügung:

  • background: Mit diesem Parameter wird der Index im Hintergrund erstellt und somit verhindert, dass der Kreationsprozess andere Aktivitäten der Datenbank behindert. Diese Option enthält immer einen booleschen Wert, ist also entweder „wahr“ (true) oder „falsch“ (false). Der Standardwert ist „false“.
  • unique: Auch „unique“ ist ein boolescher Wert. Ist dieser „true“, wird per Create Index ein einzigartiger Index erstellt, der keine Dokumente aufnimmt, deren Key-Wert bereits verwendet wird. So kommt jeder Key-Wert nur einmal vor. Auch der Default-Wert von unique ist „false“.
  • name: Mit dieser Option können Sie Ihrem Index einen frei auswählbaren Namen geben. Verzichten Sie auf diesen Parameter, generiert das System selbstständig einen Namen.
  • sparse: Setzen Sie diesen Wert auf „true“, wird der Index nur Dokumente mit einem klar definierten Feld berücksichtigen. Diese Methode spart zwar Platz, kann aber auch ungenau sein. Der Default-Wert ist „false“.
  • expireAfterSeconds: Mit dieser Option entscheiden Sie, wie lange MongoDB Dokumente in einer Collection aufbewahrt. Der Wert wird in Sekunden angegeben.
  • weights: Dieser Parameter bestimmt über die Wichtigkeit eines Feldes im Vergleich zu anderen Feldern eines Indexes. Der Wert reicht dabei von 1 bis 99999.
  • default_language: Möchten Sie eine andere Sprache als Englisch für das MongoDB-Kommando Create Index verwenden, so können Sie diese mit „default_language“ bestimmen.
  • language_override: Mit dieser Option überschreiben Sie die Standardsprache.
Tipp: Managed MongoDB von IONOS

Mit Managed MongoDB von IONOS können Sie sich auf das Wesentliche konzentrieren. Ob Installation, Betrieb oder Wartungsarbeiten, IONOS sorgt für einen zuverlässigen Betrieb Ihrer hochperformanten Datenbanken.

Indexe löschen mit MongoDB Drop Index

Da Sie nun wissen, wie Sie mit Create Index einen neuen Index erstellen, bleibt nur die Frage, wie Sie einen solchen Index wieder entfernen können. Für diesen Fall ist die MongoDB-Funktion Drop Index gedacht. Hierbei haben Sie zwei Möglichkeiten. Entweder geben Sie die Datei, von der der Index entfernt werden soll, oder direkt den Namen des jeweiligen Indexes an.

So ist die Syntax der ersten Methode:

>db.COLLECTION_NAME.dropIndex ( {KEY:1} )

Die Syntax der zweiten Methode sieht folgendermaßen aus:

dropIndex ("Name_des_Indexes")