Zusammengesetzter Index in MongoDB
Manchmal müssen wir einen Index erstellen, der mehrere Felder enthält. Wenn Ihr Dokument beispielsweise ein Feld mit dem Namen Geschlecht
enthält, kann es zwei weitere Felder wie Männlich
und Weiblich
enthalten.
Diese Felder können Werte wie Ja
oder Nein
haben. In diesem Artikel werden wir den zusammengesetzten Index besprechen, und wir werden auch ein Beispiel mit einer Erklärung sehen, um das Thema zu vereinfachen.
MongoDB-Index
Die Indizierung ist sehr wichtig, da sie die Abfrageleistung erhöht und die Suche nach einem bestimmten Dokument erleichtert. Ein zusammengesetzter Index ist eine Art Index, der mehrere Felder kombiniert.
Es wird hauptsächlich für diese Felder verwendet, deren Wert auf anderen Feldern basiert. Wenn Sie beispielsweise ein Feld mit dem Namen Name
haben, kann der Wert dieses Felds vom Wert zweier anderer Felder abhängen, FirstName
und LastName
.
Zusammengesetzter Index bedeutet also, mehrere Felder zu indizieren. Der Hauptunterschied zwischen dem allgemeinen Index (einzelner Index) und dem zusammengesetzten Index besteht darin, dass der zusammengesetzte Index die Indizierung auf der Grundlage mehrerer Werte durchführt.
Erstellen Sie einen zusammengesetzten Index in MongoDB
MongoDB enthält eine eingebaute Methode namens createIndex()
zum Erstellen einer beliebigen Indizierung. Um einen zusammengesetzten Index zu erstellen, können wir der folgenden allgemeinen Syntax folgen.
db.collection.createIndex({<field1>: <type1>, <field2>: <type2>, …})
Schauen wir uns das folgende Beispiel an, um es uns klarer zu machen.
db.employee.createIndex({Name:1, Email:-1})
Im obigen Beispiel haben wir einen einfachen zusammengesetzten Index erstellt, der die Sammlung Mitarbeiter
nach dem Feld Name
in aufsteigender Reihenfolge und dann nach dem Feld Email
in absteigender Reihenfolge sortiert.
Bevor Sie einen Befehl ausführen, überprüfen Sie bitte, ob Sie sich in der richtigen Sammlung befinden. Um eine bestimmte Sammlung einzuschalten, verwenden Sie den Befehl
use YourDB
. Andernfalls erhalten Sie einen Fehler.
Aminul Is an Expert Technical Writer and Full-Stack Developer. He has hands-on working experience on numerous Developer Platforms and SAAS startups. He is highly skilled in numerous Programming languages and Frameworks. He can write professional technical articles like Reviews, Programming, Documentation, SOP, User manual, Whitepaper, etc.
LinkedIn