MongoDB fjerne alle indekser fra databasen

MongoDB fjerne alle indekser fra databasen

I dette innlegget vil vi utforske hvordan du bruker DropIndexes () -metoden i MongoDB -skallet for å fjerne en indeks fra en gitt samling. Vi vil også bygge et enkelt manus for å fjerne alle indeksene fra en gitt samling.

La oss dykke inn.

MongoDB DB.Samling.DropIndexes ()

For å slippe en spesifikk indeks fra en samling, bruker vi DropIndexes () -metoden og passerer målindeksen du ønsker å fjerne fra samlingen.

Du kan spesifisere indeksnavnet hvis det er en tekstindeks eller indeksspesifikasjonsdokumentet ellers.

Eksempel 1: Slipp en indeks ved navn

I følgende eksempel kan vi bruke DropIndexes () -metoden for å slippe en indeks under navnet "Type".

ent> db.Netflix.DropIndexes ("Type")

Den gitte kommandoen fjerner indeksen med navnet "Type". Å slippe en indeks ved navn støttes for tekstindekstyper.

Spørringen returnerer en utdata som følger:

NINDEXESWAS: 4, OK: 1

Eksempel 2: Slipp flere indekser etter navn

Vi kan også fjerne flere indekser ved å bruke navnene deres som vist i følgende eksempel på spørring:

db.Netflix.DropIndexes ("År", "Rating")

I dette tilfellet bør kommandoen fjerne "året" og "rangering" -indeksene fra samlingen.

Produksjon:

NINDEXESWAS: 3, OK: 1

Eksempel 3: Slipp alle indekser bortsett fra _idindeksen

Følgende eksempel på spørring viser hvordan du bruker DropIndexes () -metoden for å slippe alle indeksene fra en gitt samling bortsett fra _ID -indeksen.

db.Netflix.DropIndexes ()

Kommandoen skal fjerne alle ikke -_idindeksene fra samlingen som vist i følgende utgang:


NINDEXESWAS: 4,
MSG: 'Ikke-_idindekser falt for samling',
OK: 1

Eksempel 4: Slipp alle indekser fra en gitt database

Hvis vi ønsker å fjerne alle indeksene fra en gitt database, kan vi bruke et enkelt skript som vist i følgende eksempel:

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

Den forrige kommandoen bruker foreach -funksjonen for å iterere over hver samling i databasen. Den sender deretter hver samling til DropIndexes -kommandoen og målindeksen som en jokertegnskarakter.

Dette skal tillate deg å fjerne alle ikke -_idindeksene fra databasen i et enkelt trinn.

Konklusjon

I dette innlegget diskuterte vi hvordan du bruker DropIndexes -metoden i MongoDB -skallet for å fjerne en eller flere indekser fra en samling.