MongoDB usuń wszystkie indeksy z bazy danych

MongoDB usuń wszystkie indeksy z bazy danych

W tym poście zbadamy, jak użyć metody dropindexes () w MongoDB Shell. Zbudujemy również prosty skrypt, aby usunąć wszystkie indeksy z danej kolekcji.

Zanurzmy się.

MongoDB db.Kolekcja.Dropindexes ()

Aby zrzucić określony indeks z kolekcji, używamy metody dropindexes () i przekazujemy indeks docelowy, który chcesz usunąć z kolekcji.

Możesz określić nazwę indeksu, jeśli jest to indeks tekstu lub dokument specyfikacji indeksu.

Przykład 1: Upuść indeks według nazwy

W poniższym przykładzie zapytaniu możemy użyć metody dropindexes () do upuszczenia indeksu pod nazwą „wpisz”.

ent> db.Netflix.dropindexes („Typ”)

Dane polecenie usuwa indeks o nazwie „Wpisz”. Upuszczenie indeksu według nazwy jest obsługiwane dla typów indeksów tekstowych.

Zapytanie zwraca dane wyjściowe w następujący sposób:

nindexeswas: 4, OK: 1

Przykład 2: Upuść wiele indeksów według nazwy

Możemy również usunąć wiele indeksów za pomocą ich nazw, jak pokazano w następującym przykładzie zapytania:

db.Netflix.dropindexes („rok”, „ocena”)

W takim przypadku polecenie powinno usunąć indeksy „roku” i „oceny” z kolekcji.

Wyjście:

nindexeswas: 3, OK: 1

Przykład 3: Upuść wszystkie indeksy oprócz indeksu _id

Poniższe zapytanie pokazuje, jak użyć metody dropindexes (), aby zrzucić wszystkie indeksy z danego zbioru, z wyjątkiem indeksu _id.

db.Netflix.dropindexes ()

Polecenie powinno usunąć wszystkie indeksy innych niż _id z kolekcji, jak pokazano przy następnym wyjściu:


Nindexeswas: 4,
MSG: „Indeksy inne niż_deksu,
OK: 1

Przykład 4: Upuść wszystkie indeksy z danej bazy danych

Jeśli chcemy usunąć wszystkie indeksy z danej bazy danych, możemy użyć prostego skryptu, jak pokazano w poniższym przykładzie:

db.getCollectionNames ().foreach (funkcja (collectname)
… DB.runCommand (Dropindexes: CollectionName, indeks: „*”);
…);

Poprzednie polecenie używa funkcji Foreach do iteracji w każdej kolekcji w bazie danych. Następnie przekazuje każdą kolekcję do polecenia dropindexes i indeksu docelowego jako znakiem wieloznacznym.

Powinno to pozwolić na usunięcie wszystkich indeksów innych niż _id z bazy danych w prostym kroku.

Wniosek

W tym poście omówiliśmy, jak użyć metody dropindexes w powładzie MongoDB, aby usunąć jeden lub wiele indeksów z kolekcji.