MongoDB entfernen Sie alle Indizes aus der Datenbank

MongoDB entfernen Sie alle Indizes aus der Datenbank

In diesem Beitrag werden wir untersuchen. Wir werden auch ein einfaches Skript erstellen, um alle Indizes aus einer bestimmten Sammlung zu entfernen.

Lassen Sie uns eintauchen.

MongoDB DB.Sammlung.DropIndexes ()

Um einen bestimmten Index aus einer Sammlung abzugeben, verwenden wir die DropIndexes () -Methode () und übergeben den Zielindex, den Sie aus der Sammlung entfernen möchten.

Sie können den Indexnamen angeben, wenn es sich um einen Textindex oder das Indexspezifikationsdokument handelt, sonst.

Beispiel 1: Lassen Sie einen Index mit Namen fallen

In der folgenden Beispielabfrage können wir die Methode DropIndexes () verwenden, um einen Index unter dem Namen "Typ" fallen zu lassen.

Ent> db.Netflix.DropIndexes ("Typ")

Der angegebene Befehl beseitigt den Index mit dem Namen "Typ". Das Ablegen eines Index mit Namen wird für Textindextypen unterstützt.

Die Abfrage gibt eine Ausgabe wie folgt zurück:

nindexeswas: 4, OK: 1

Beispiel 2: Streichen Sie mehrere Indizes mit Namen fallen

Wir können auch mehrere Indizes mit ihren Namen entfernen, wie in der folgenden Beispielabfrage gezeigt:

db.Netflix.DropIndexes ("Jahr", "Bewertung")

In diesem Fall sollte der Befehl die "Jahr" und "Rating" -Indexes aus der Sammlung entfernen.

Ausgang:

nindexes war: 3, OK: 1

Beispiel 3: Lassen Sie alle Indizes außer dem _ID -Index fallen

Die folgende Beispielabfrage zeigt, wie Sie die DropIndexes () -Methode verwenden, um alle Indizes aus einer bestimmten Sammlung mit Ausnahme des _id -Index abzugeben.

db.Netflix.DropIndexes ()

Der Befehl sollte alle nicht _ID -Indizes aus der Sammlung entfernen, wie in der folgenden Ausgabe gezeigt:


Nindexes war: 4,
MSG: 'Nicht-ID-Indizes für die Sammlung fallen' ',
OK: 1

Beispiel 4: Lassen Sie alle Indizes aus einer bestimmten Datenbank fallen

Wenn wir alle Indizes aus einer bestimmten Datenbank entfernen möchten, können wir ein einfaches Skript verwenden, wie im folgenden Beispiel gezeigt:

db.getCollectionNames ().foreach (function (collectionName)
… DB.RunCommand (DropIndexes: CollectionName, Index: "*");
…);

Der vorherige Befehl verwendet die Foreach -Funktion, um jede Sammlung in der Datenbank zu iterieren. Anschließend gibt es jede Sammlung an den Befehl DropIndexes und den Zielindex als Wildcard -Charakter über.

Auf diese Weise können Sie alle nicht _ID -Indizes aus der Datenbank in einem einfachen Schritt entfernen.

Abschluss

In diesem Beitrag haben wir besprochen, wie die DropIndexes -Methode in der MongoDB -Shell verwendet wird, um einen oder mehrere Indizes aus einer Sammlung zu entfernen.