Erstellen Sie Indizes in MongoDB
Indizes helfen bei der effektiven Auflösung von Abfragen. Ohne Indizes muss MongoDB jedes Dokument in einer Sammlung durchsuchen, um diejenigen zu finden, die der Abfrage entsprechen.
Es kann Zeit verschwenden und erfordert, dass MongoDB solche Informationen verarbeitet. Im heutigen Artikel lernen wir also, wie man Indizes in MongoDB erstellt.
Erstellen Sie einen Index in MongoDB
Indizes sind spezialisierte Datenstrukturen, die eine begrenzte Teilmenge des Datensatzes in einem zugänglichen Format halten. Der Wert eines bestimmten Felds oder einer Sammlung von Feldern wird im Index gespeichert, sortiert nach dem Wert des Felds, wie im Index angegeben.
MongoDB unterstützt verschiedene Arten von Indizes. Single Field, Compound Index, Multikey Index, Geospatial Index, Hashed Index und Clustered Index sind einige der Indizes.
Syntax:
db.COLLECTION.createIndex({ KEY_NAME:1 })
KEY_NAMEist der Feldname, auf dem Sie einen Index erstellen möchten.- Der vorherige Punkt zeigt an, dass die Reihenfolge aufsteigend sein sollte. Daher müssen Sie
-1verwenden, um einen Index in absteigender Reihenfolge zu erstellen. - Die Methode
createIndex()akzeptiert eine Liste optionaler Argumente. Die Auflistung ist unten.eindeutigist eine boolesche Variable, die einen eindeutigen Index erstellt und verhindert, dass die Sammlung das Einfügen von Dokumenten akzeptiert, deren Indexschlüssel oder -schlüssel bereits vorhanden sind. Um einen eindeutigen Index zu erstellen, geben Sietrueein. Der Standardwert ist auffalsegesetzt.- Die boolesche Variable
backgroundbaut den Index im Hintergrund auf, sodass andere Datenbankoperationen nicht behindert werden. Um im Hintergrund zu konstruieren, geben Sietruean. Der Standardwert ist auffalsegesetzt. - Wenn die boolesche Variable
sparseauftruegesetzt ist, verweist der Index nur auf Dokumente mit dem angegebenen Feld. Obwohl diese Indizes weniger Platz beanspruchen, können sie sich anders verhalten (insbesondere sortieren).falseist die Standardeinstellung. - Die String-Variable
nameenthält den Namen des Indexes. Wenn kein Indexname angegeben wird, erstellt MongoDB einen, indem die Namen der indizierten Felder und die Sortierreihenfolge verknüpft werden. - Die String-Variable
defaultlanguage ist die Sprache, die die Liste der Stoppwörter und die Kriterien fürstemmerundtokenizerfür einen Textindex festlegt. - Die Integer-Variable
expireAfterSecondsdefiniert einentime-to-live(TTL)-Wert in Sekunden, um zu begrenzen, wie lange MongoDB die Dokumente in dieser Sammlung aufbewahrt.
Weitere Informationen zu .createIndex() finden Sie hier. Lassen Sie uns das folgende Beispiel verwenden, um die erwähnte Idee zu verstehen:
> db.users.createIndex({ "email": 1, "country": -1 })
Im obigen Beispiel haben wir einen neuen zusammengesetzten Index erstellt, in dem email in absteigender Reihenfolge gespeichert ist und Land in aufsteigender Reihenfolge sortiert ist. Jedes Mal, wenn eine Abfrage ausgeführt wird, sortiert der Index zunächst nach email des Benutzers, bevor innerhalb jedes email-Werts nach Land sortiert wird.
Shraddha is a JavaScript nerd that utilises it for everything from experimenting to assisting individuals and businesses with day-to-day operations and business growth. She is a writer, chef, and computer programmer. As a senior MEAN/MERN stack developer and project manager with more than 4 years of experience in this sector, she now handles multiple projects. She has been producing technical writing for at least a year and a half. She enjoys coming up with fresh, innovative ideas.
LinkedIn