Wie bei jeder Datenbank sind Indizes in MongoDB wesentliche Datenstrukturen. Sie ermöglichen einfache Datenbankabfragen und ermöglichen es Ihnen, einen Teil Ihrer Sammlung in eindeutigen Feldern zu speichern und anzuordnen. Indizes unterstützen auch problemlos Bereichsabfragen.

Wenn Ihre App MongoDB verwendet, möchten Sie die Leistungsfähigkeit von Indizes nutzen, um Ihre Abfragen schneller und effizienter zu machen. Was sind Indizes in MongoDB und wie können Sie sie erstellen?

Was sind Indizes in MongoDB?

Mit Indizes in MongoDB können Sie einige Felder in einem Dokument priorisieren und später in Abfrageparameter umwandeln. Beim Erstellen einer Sammlung erstellt MongoDB einen Standard-ID-Index. Sie können jedoch weitere hinzufügen, wenn Sie höhere Fragen oder Anordnungsanforderungen haben.

Eindeutige Indizes verhindern auch Duplikate bei der Dateneingabe. Sie sind praktisch, um Einträge abzulehnen, die bereits in der Datenbank vorhanden sind. So können Sie beispielsweise eine eindeutige Indexierung für Benutzernamen und E-Mail-Felder verwenden.

Indizes helfen Ihnen, mithilfe Ihres definierten Abfrageformats in der erforderlichen Menge gezielt zu greifen, was Sie möchten, ohne eine gesamte Sammlung zu scannen. Beim Erstellen eines Index können Sie angeben, wie Ihre Daten bei jeder Abfrage sortiert werden sollen.

Wenn Sie beispielsweise Datenpunkte nach ihrem Eintrittsdatum sortieren möchten, ohne einen Index zu verwenden, geben Sie in der Regel Abfragekriterien und Sortierreihenfolge an.

Angenommen, Sie möchten Altersgruppen, die über einer bestimmten Zahl liegen, nach absteigendem Eintragsdatum ordnen. Ihre Abfrage sieht normalerweise so aus:

db.collectionName.find({age: {$gt: 50}}).sort({date: -1})

Wenn Sie jedoch einen Index für die Eintrittsdaten hätten, müssten Sie nur die Abfragekriterien angeben. Dies liegt daran, dass Sie das Datum bereits beim Erstellen des Indexes absteigend sortiert haben.

In diesem Fall lautet die obige Abfrage:

db.collectionName.find({age: {$gt: 50}})

So erstellen Sie einen Index in MongoDB

Sie können Indizes in MongoDB mithilfe der integrierten Shell-Schnittstelle erstellen. Das verwenden wir in diesem Tutorial.

Dennoch existieren Indizes nicht allein. Du musst eine Datenbank und eine Sammlung erstellt bevor Sie einen Index erstellen können.

Wie bereits erwähnt, besteht ein herausragendes Merkmal der Indexierung darin, dass Sie bei der Indexerstellung Sortierkriterien angeben können.

Ein Index, der das Alter in umgekehrter Reihenfolge anordnet, sieht beispielsweise so aus:

db.userCollection.createIndex({age: -1})

Die negative ganze Zahl (-1) im Code weist MongoDB an, das Alter in umgekehrter Reihenfolge anzuordnen, wenn Sie Daten mit dem abfragen das Alter Index. Daher müssen Sie bei Abfragen möglicherweise keine Sortierreihenfolge angeben, da der Index dies bereits behandelt.

Um einen Index desselben Felds aufsteigend zu erstellen, ersetzen Sie -1 mit 1:

db.userCollection.createIndex({age: 1})

Obwohl es in MongoDB noch andere Indextypen gibt, erstellen Sie so die einzelnen und zusammengesetzten Formen – da sie am häufigsten verwendet werden.

Aber bevor wir fortfahren, stellen Sie sicher, dass Sie eine MongoDB einrichten Server auf Ihrem PC. Wenn Sie dies bereits getan haben, öffnen Sie die MongoDB-Shell und folgen Sie den Anweisungen.

Erstellen Sie einen einzelnen Index in MongoDB

Die Einzelindizierung in MongoDB ist unkompliziert. Wählen Sie zunächst eine Datenbank aus, die bereits Sammlungen enthält.

Sagen wir, unser Datenbankname ist MUO:

MUO verwenden

Nachdem Sie eine Datenbank ausgewählt haben, verwenden Sie die createIndex() Befehl in der Shell, um einen einzelnen Index zu erstellen.

Um beispielsweise einen einzelnen Benutzernamenindex in einer Sammlung zu erstellen und ihn für Abfragen in umgekehrter Reihenfolge zu verwenden:

db.collectionName.createIndex({Benutzername: -1})

Multikey-Indizierung in MongoDB

Multikey-Indizes sind praktisch, um ein Feld in einem komplexen Datenarray zu indizieren. Eine Sammlung kann beispielsweise komplexe Daten von Benutzern mit ihren Informationen in einem anderen Array enthalten. Sagen Sie beispielsweise Name, Größe und Alter.

Sie können einen Multikey-Index für die Körpergröße jedes Benutzers in diesem Array wie folgt erstellen:

db.customers.createIndex({user.height: 1})

Der Höhe im obigen Code ist eine Teilmenge der Nutzer Bereich.

Erstellen Sie einen zusammengesetzten Index

Ein zusammengesetzter Index enthält mehr als einen Index. So erstellen Sie beispielsweise einen zusammengesetzten Index aus Adresse und Produkttyp für eine Kundensammlung:

db.customer.createIndex({Adresse: 1, Produkte: 1})

Da Sie beim Erstellen des obigen Index keinen Namen angegeben haben, erstellt MongoDB standardmäßig einen. Aber es trennt den Namen jedes Index durch einen Unterstrich. Daher ist es weniger lesbar, insbesondere wenn Sie mehr als zwei Indizes in einem Verbund haben.

So geben Sie beim Erstellen eines zusammengesetzten Index einen Namen an:

db.customers.createIndex({location: 1, products: 1, weight: -1}, {name: "myCompundIndex"})

Alle Indizes in einer Sammlung abrufen

So zeigen Sie alle Indizes in einer Sammlung an:

db.collectionName.getIndexes()

Der obige Code gibt alle Indizes in einer benannten Sammlung aus.

Organisieren Sie Ihre Datenbank mit Indizes

Die Indizierung in MongoDB reduziert die Laufzeitlatenz beim Ausführen gleichzeitiger Abfragen. Außerdem helfen sie Ihnen, Ihre Datenbank zu organisieren und zugänglicher zu machen. Wie Sie gesehen haben, ist das Erstellen von Indizes in MongoDB schließlich nicht komplex. Die Beispiele hier reichen aus, um Ihnen den Einstieg in die Indexerstellung zu erleichtern. Um Ihre Indizes in der Praxis zu sehen, müssen Sie jedoch wissen, wie Abfragen in MongoDB funktionieren.

So führen Sie CRUD-Operationen in MongoDB durch

MongoDB kennenzulernen ist schwierig. Schlagen Sie mit CRUD durch.

Weiter lesen

TeilenTweetEmail
Verwandte Themen
  • Programmierung
  • Python
  • Programmierung
  • Datenbank
Über den Autor
Idowu Omisola (119 veröffentlichte Artikel)

Idowu hat eine Leidenschaft für alles, was smarte Technologien und Produktivität ist. In seiner Freizeit spielt er mit Programmieren und wechselt bei Langeweile aufs Schachbrett, aber er liebt es auch, ab und zu aus der Routine auszubrechen. Seine Leidenschaft, Menschen den Weg in die moderne Technik zu weisen, motiviert ihn, mehr zu schreiben.

Mehr von Idowu Omisola

Abonniere unseren Newsletter

Abonnieren Sie unseren Newsletter für technische Tipps, Rezensionen, kostenlose E-Books und exklusive Angebote!

Klicken Sie hier, um zu abonnieren