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.