sql >> Database teknologi >  >> NoSQL >> MongoDB

3 måder at droppe et indeks i MongoDB

MongoDB giver flere måder at droppe et eller flere indekser på.

For at slette et enkelt indeks kan du bruge dropIndexes() metode.

For at slette flere indekser kan du bruge enten dropIndexes() metoden eller dropIndexes administrationskommando.

dropIndexes() Metode

Hvis du kun skal slette ét indeks, kan du bruge dropIndexes() metode. Denne metode accepterer indeksnavnet eller dets specifikationsdokument.

Her er et eksempel på at slette et indeks ved hjælp af indeksnavnet:

db.bars.dropIndex("location_2dsphere")

Output:

{ "nIndexesWas" : 3, "ok" : 1 }

Dette fortæller os, at indekset kaldet location_2dsphere blev slettet.

Her er et eksempel på at slette et indeks ved at sende dets specifikationsdokument:

db.bars.dropIndex( { "name" : 1 } )

Output:

{ "nIndexesWas" : 2, "ok" : 1 }

Vi kan se, at dette indeks også blev droppet. Dette indeks havde en specifikation på { "name" : 1 } , som er det specifikationsdokument, jeg brugte, da jeg oprettede indekset.

dropIndexes() metoden er en indpakning omkring dropIndexes kommando.

dropIndexes() Metode

dropIndexes() metode kan være praktisk, hvis du skal droppe mere end ét indeks. Du kan også droppe et enkelt indeks, det har bare den tilføjede evne til at kunne droppe flere (eller alle) indekser.

Denne metode accepterer indeksnavnet eller dets specifikationsdokument for hvert af indekserne, der skal droppes. Hvis du dropper mere end ét indeks, skal du angive deres navne/specifikationsdokumenter i et array.

Her er et eksempel på at slette to indekser ved hjælp af deres indeksnavne:

db.pets.dropIndexes( [ "type_1", "name_1" ])

Output:

{ "nIndexesWas" : 3, "ok" : 1 }

Bemærk, at hvis det er et tekstindeks, kan du kun angive indeksnavnet.

Du kan slette alle indekser (undtagen _id). index) ved at udelade parameteren helt:

db.pets.dropIndexes()

dropIndexes() metoden er en indpakning omkring dropIndexes kommando.

dropIndexes Kommando

dropIndexes kommandoen tillader dig at gøre det samme som dropIndexes() metode. Som nævnt er dropIndexes() metoden er en indpakning omkring dropIndexes kommando

Her er et eksempel på at droppe et enkelt indeks:

db.runCommand( { dropIndexes: "posts", index: "title_1" })

Output:

{ "nIndexesWas" : 4, "ok" : 1 } 

Og her er et eksempel på at droppe flere indekser:

db.runCommand( { 
  dropIndexes: "posts", 
  index: [ "tags_1", "body_text" ] 
})

Resultat:

{ "nIndexesWas" : 3, "ok" : 1 }

For at slette alle indekser (undtagen _id). indeks), brug jokertegnet for stjerne (* ):

db.runCommand( { dropIndexes: "posts", index: "*" })

Resultat:

{
	"nIndexesWas" : 4,
	"msg" : "non-_id indexes dropped for collection",
	"ok" : 1
}

  1. Mongodb find oprettede resultater efter dato i dag

  2. MongoDB normalisering, fremmednøgle og joining

  3. Hvordan får jeg Spring-Data-MongoDB til at validere mine objekter?

  4. Find værdier ved at bruge delvist nøglenavn i et Redis Sorteret sæt