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.