sql >> Base de Datos >  >> NoSQL >> MongoDB

DropIndex de MongoDB()

Hay varias formas de eliminar un índice en MongoDB, una de las cuales es usar dropIndex() método.

Es bastante simple de usar:simplemente pase el nombre del índice o su documento de definición/especificación. Si es un índice de texto, solo puede especificar el nombre del índice.

Índices de ejemplo

Supongamos que tenemos una colección llamada bars . Podemos usar getIndexes() para ver que índices tiene:

db.bars.getIndexes()

Resultado:

[
	{
		"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
	}
]

Podemos ver que hay tres índices en las bars colección.

  • El primer índice está en _id campo. MongoDB crea un índice único en el _id durante la creación de una colección. No puede eliminar este índice.
  • El segundo índice es un índice de 2dsphere en la location campo.
  • El tercer índice está en el name campo. En este caso, resulta ser un índice oculto (tiene "hidden" : true en su especificación).

Soltar un índice por nombre

Aquí hay un ejemplo de soltar un índice pasando su nombre a dropIndex() método:

db.bars.dropIndex("location_2dsphere")

Salida:

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

Esto nos dice que el índice se eliminó con éxito.

Soltar un índice por su especificación

Aquí hay un ejemplo de cómo eliminar un índice al pasar su documento de especificación a dropIndex() método:

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

Salida:

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

Podemos ver que este índice también se eliminó.

Recordarás que este es el índice que estaba oculto. Puede eliminar índices ocultos sin ningún problema (no necesita mostrarlos antes de eliminarlos).

Comprueba los resultados

Ejecutemos getIndexes() de nuevo para ver los resultados:

db.bars.getIndexes()

Resultado:

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

Esta vez solo hay un índice:el _id predeterminado. índice.

El dropIndex() El método es un contenedor alrededor de dropIndexes comando.

Documentación de MongoDB

Consulte la documentación de MongoDB para obtener más información sobre dropIndex() método.