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

MongoDB dropIndex()

Esistono diversi modi per eliminare un indice in MongoDB, uno dei quali consiste nell'utilizzare dropIndex() metodo.

È piuttosto semplice da usare:basta passare il nome dell'indice o il suo documento di definizione/specifica. Se è un indice di testo, puoi solo specificare il nome dell'indice.

Indici di esempio

Supponiamo di avere una collezione chiamata bars . Possiamo usare getIndexes() per vedere quali indici ha:

db.bars.getIndexes()

Risultato:

[
	{
		"v" : 2,
		"key" : {
			"_id" : 1
		},
		"name" : "_id_"
	},
	{
		"v" : 2,
		"key" : {
			"location" : "2dsphere"
		},
		"name" : "location_2dsphere",
		"2dsphereIndexVersion" : 3
	},
	{
		"v" : 2,
		"key" : {
			"name" : 1
		},
		"name" : "name_1",
		"hidden" : true
	}
]

Possiamo vedere che ci sono tre indici sulle bars raccolta.

  • Il primo indice è su _id campo. MongoDB crea un indice univoco su _id campo durante la creazione di una collezione. Non puoi eliminare questo indice.
  • Il secondo indice è un indice 2dsphere sulla location campo.
  • Il terzo indice è sul name campo. In questo caso, si tratta di un indice nascosto (ha "hidden" : true nella sua specifica).

Rilascia un indice per nome

Ecco un esempio di eliminazione di un indice passando il suo nome a dropIndex() metodo:

db.bars.dropIndex("location_2dsphere")

Uscita:

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

Questo ci dice che l'indice è stato eliminato correttamente.

Elimina un indice in base alla sua specifica

Ecco un esempio di eliminazione di un indice passando il suo documento di specifica a dropIndex() metodo:

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

Uscita:

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

Possiamo vedere che anche questo indice è stato eliminato.

Ricorderai che questo è l'indice nascosto. Puoi rilasciare gli indici nascosti senza problemi (non è necessario mostrarli prima di rilasciarli).

Controlla i risultati

Eseguiamo getIndexes() di nuovo per vedere i risultati:

db.bars.getIndexes()

Risultato:

[ { "v" : 2, "key" : { "_id" : 1 }, "name" : "_id_" } ]

Questa volta c'è un solo indice:il _id predefinito indice.

Il dropIndex() è un wrapper attorno a dropIndexes comando.

Documentazione MongoDB

Consulta la documentazione di MongoDB per ulteriori informazioni su dropIndex() metodo.