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

3 formas de eliminar un índice en MongoDB

MongoDB proporciona varias formas de eliminar un índice o índices.

Para eliminar un solo índice, puede usar dropIndex() método.

Para eliminar varios índices, puede utilizar dropIndexes() método o dropIndexes comando de administración.

El dropIndex() Método

Si solo necesita eliminar un índice, puede usar dropIndex() método. Este método acepta el nombre del índice o su documento de especificación.

Aquí hay un ejemplo de soltar un índice usando el nombre del índice:

db.bars.dropIndex("location_2dsphere")

Salida:

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

Esto nos dice que el índice llamado location_2dsphere se soltó con éxito.

Aquí hay un ejemplo de eliminar un índice pasando su documento de especificación:

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

Salida:

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

Podemos ver que este índice también se eliminó. Este índice tenía una especificación de { "name" : 1 } , que es el documento de especificaciones que utilicé al crear el índice.

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

Los dropIndexes() Método

Los dropIndexes() El método puede ser útil si necesita eliminar más de un índice. También puede eliminar un solo índice, solo tiene la capacidad adicional de poder eliminar múltiples (o todos) los índices.

Este método acepta el nombre del índice o su documento de especificación para cada uno de los índices que se descartarán. Si descarta más de un índice, debe proporcionar sus nombres/documentos de especificación en una matriz.

Aquí hay un ejemplo de eliminar dos índices usando sus nombres de índice:

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

Salida:

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

Tenga en cuenta que, si se trata de un índice de texto, solo puede especificar el nombre del índice.

Puede eliminar todos los índices (excepto el _id index) omitiendo el parámetro por completo:

db.pets.dropIndexes()

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

Los dropIndexes Comando

Los dropIndexes El comando le permite hacer lo mismo que dropIndexes() método. Como se mencionó, el dropIndexes() El método es un contenedor alrededor de dropIndexes comando

Este es un ejemplo de eliminación de un solo índice:

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

Salida:

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

Y aquí hay un ejemplo de eliminación de múltiples índices:

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

Resultado:

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

Para eliminar todos los índices (excepto el _id index), use el comodín asterisco (* ):

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

Resultado:

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