sql >> Database >  >> NoSQL >> MongoDB

3 manieren om een ​​index in MongoDB te plaatsen

MongoDB biedt verschillende manieren om een ​​index of indexen te verwijderen.

Om een ​​enkele index te verwijderen, kunt u de dropIndex() . gebruiken methode.

Om meerdere indexen te verwijderen, kunt u de dropIndexes() . gebruiken methode of de dropIndexes administratie commando.

De dropIndex() Methode

Als u slechts één index hoeft te verwijderen, kunt u de dropIndex() . gebruiken methode. Deze methode accepteert de indexnaam of het specificatiedocument.

Hier is een voorbeeld van het verwijderen van een index met de indexnaam:

db.bars.dropIndex("location_2dsphere")

Uitgang:

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

Dit vertelt ons dat de index genaamd location_2dsphere is succesvol verwijderd.

Hier is een voorbeeld van het verwijderen van een index door het specificatiedocument door te geven:

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

Uitgang:

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

We kunnen zien dat deze index ook is gedaald. Deze index had een specificatie van { "name" : 1 } , het specificatiedocument dat ik heb gebruikt bij het maken van de index.

De dropIndex() methode is een wrapper rond de dropIndexes commando.

De dropIndexes() Methode

De dropIndexes() methode kan handig zijn als u meer dan één index moet verwijderen. Je kunt ook een enkele index laten vallen, het heeft alleen de extra mogelijkheid om meerdere (of alle) indexen te kunnen laten vallen.

Deze methode accepteert de indexnaam of het specificatiedocument voor elk van de indexen die moeten worden verwijderd. Als u meer dan één index laat vallen, moet u hun namen/specificatiedocumenten in een array opgeven.

Hier is een voorbeeld van het verwijderen van twee indexen met hun indexnamen:

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

Uitgang:

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

Merk op dat, als het een tekstindex is, u alleen de indexnaam kunt specificeren.

U kunt alle indexen verwijderen (behalve de _id index) door de parameter helemaal weg te laten:

db.pets.dropIndexes()

De dropIndexes() methode is een wrapper rond de dropIndexes commando.

De dropIndexes Commando

De dropIndexes commando kunt u hetzelfde doen als de dropIndexes() methode. Zoals gezegd, de dropIndexes() methode is een wrapper rond de dropIndexes commando

Hier is een voorbeeld van het verwijderen van een enkele index:

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

Uitgang:

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

En hier is een voorbeeld van het verwijderen van meerdere indexen:

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

Resultaat:

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

Om alle indexen te verwijderen (behalve de _id index), gebruik het asterisk-jokerteken (* ):

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

Resultaat:

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

  1. MongoDB ontspant meerdere arrays

  2. Docker mongo-afbeelding 'Verbinding geweigerd' van andere container

  3. MongoDB $indexOfArray

  4. Redis instellen op Webfaction