In den Indizes kann der MongoDB die Dokumente, die mit einer bestimmten Abfrage übereinstimmen, schnell abrufen.
Es ist jedoch gut zu bedenken, dass dieser Beitrag den Prozess der Indexerstellung nicht abdeckt. Überprüfen Sie unser Tutorial zu diesem Thema, um mehr zu erfahren.
Lass uns hineinspringen.
Methode 1: MongoDB getIndexes () Methode
Die erste Methode, die wir diskutieren werden, ist die Methode getIndexes (). Diese Methode ist in der MongoDB -Shell erhältlich, mit der Sie alle Indizes in einer bestimmten Sammlung als Array erhalten können.
Diese Methode gibt detaillierte Informationen zu den verfügbaren Indizes zurück, einschließlich der versteckten Indizes in einem menschlichen lesbaren Format.
Die Befehlssyntax ist wie im Folgenden dargestellt:
db.Sammlung.GetIndexes ()
HINWEIS: Abhängig von der Clusterkonfiguration kann diese Methode möglicherweise den laufenden Benutzer benötigen, um die List -Indizes -Berechtigungen für die Zielsammlung zu haben.
Angenommen, wir haben eine Sammlung namens "Netflix". Wir können alle Indizes in der Sammlung erhalten, indem wir die folgende Abfrage ausführen:
db.Netflix.GetIndexes ()
Die Anfrage sollte ein Array mit den Informationen zu den verfügbaren Indizes in der Zielsammlung zurückgeben.
Eine Beispielausgabe ist wie im Folgenden dargestellt:
[
v: 2, Schlüssel: _id: 1, Name: '_id_',
v: 2,
Schlüssel: Jahr: 1, Punktzahl: -1,
Name: 'Year_index',
Zusammenfassung:
Gebietsschema: 'en',
Caselevel: Falsch,
Fallfirst: 'Aus',
Stärke: 3,
Numericordering: Falsch,
Alternative: "Nicht ignorierter",
Maxvariable: 'punktieren',
Normalisierung: Falsch,
Rückwärts: Falsch,
Version: '57.1 '
]
In diesem Fall enthält die Sammlung einen Index namens "Year_Index" namens "Year_index". Wir können auch weitere Indexinformationen wie Stärke, Version, Gebietsschema und mehr finden.
Methode 2: Erhalten Sie die Sammelindizes mithilfe der ListIndexes -Methode
Die zweite Methode, mit der wir die Liste der verfügbaren Indizes in einer bestimmten Sammlung anzeigen können, ist die ListIndexes -Methode. Diese Methode ist ein Datenbankbefehl und wird in einem sprachspezifischen Treiber unterstützt.
Die Befehlssyntax ist wie gezeigt:
db.Führen Sie den Befehl aus (
ListIndexes: "",
Cursor: batchsize:,
Kommentar:
)
Die unterstützten Parameter sind wie gezeigt:
Betrachten Sie die folgende Beispielabfrage:
db.runcommand (listIndexes: "netflix")
Die vorherige Abfrage ruft den Befehl ListIndexes in der Sammlung „Netflix“ auf. Dies sollte alle Indizes für die spezifische Sammlung zurückgeben, wie in der folgenden Ausgabe gezeigt:
Mauszeiger:
ID: lang ("0"),
NS: 'Unterhaltung.netflix ',
erster Schub: [
v: 2, Schlüssel: _id: 1, Name: '_id_',
v: 2,
Schlüssel: Jahr: 1, Punktzahl: -1,
Name: 'Year_index',
Zusammenfassung:
Gebietsschema: 'en',
Caselevel: Falsch,
Fallfirst: 'Aus',
Stärke: 3,
Numericordering: Falsch,
Alternative: "Nicht ignorierter",
Maxvariable: 'punktieren',
Normalisierung: Falsch,
Rückwärts: Falsch,
Version: '57.1 '
]
,
OK: 1,
'$ clustertime':
Clustertime: Timestamp (t: 1663940670, i: 2),
Unterschrift:
Hash: Binär (Puffer.von ("C243619D64CA61A5C651B4BBB21A8B020A101278", "Hex"), 0),
Schlüssel: lang ("7110175001109594117")
,
OperationTime: Timestamp (t: 1663940670, i: 2)
Da wir die Stapelgröße für den Cursor nicht angeben, gibt der Befehl alle Ergebnisse des Befehls listIndexes zurück.
Um nur ein Ergebnis anzuzeigen, können wir den Parameter BatchSize auf 1 einstellen, wie im Folgenden dargestellt:
db.runcommand (listIndexes: "netflix", cursor: batchsize: 1)
In diesem Fall sollte der Befehl eine Ausgabe wie im Folgenden gezeigt zurückgeben:
Mauszeiger:
ID: Long ("3645642518793960930"),
NS: 'Unterhaltung.netflix ',
FirstBatch: [v: 2, Schlüssel: _id: 1, Name: '_id_']
,
OK: 1,
'$ clustertime':
Clustertime: Timestamp (t: 1663940831, i: 2),
Unterschrift:
Hash: Binär (Puffer.von ("66058e9b4b4d59de21ff01c05480d84438e99411", "Hex"), 0),
Schlüssel: lang ("7110175001109594117")
,
OperationTime: Timestamp (t: 1663940831, i: 2)
Sie können das BatchSize erhöhen, um weitere Informationen über die Indizes in der Sammlung zu erhalten.
Abschluss
In diesem Beitrag haben wir die beiden Hauptmethoden zum Abrufen aller Indizes einer bestimmten Sammlung unter Verwendung der MongoDB Shell -Befehle und der Datenbankbefehle erörtert. Fühlen Sie sich frei, das Dokument für detailliertere Informationen zu erkunden.
Glückliche Codierung!