Il existe plusieurs façons de supprimer un index dans MongoDB, dont l'une consiste à utiliser le dropIndex()
méthode.
C'est assez simple à utiliser - il suffit de passer le nom de l'index ou son document de définition/spécification. S'il s'agit d'un index de texte, vous ne pouvez spécifier que le nom de l'index.
Exemples d'index
Supposons que nous ayons une collection appelée bars
. Nous pouvons utiliser getIndexes()
pour voir de quels index il dispose :
db.bars.getIndexes()
Résultat :
[ { "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 } ]
Nous pouvons voir qu'il y a trois index sur les bars
collecte.
- Le premier index est sur le
_id
domaine. MongoDB crée un index unique sur le_id
champ lors de la création d'une collection. Vous ne pouvez pas supprimer cet index. - Le deuxième index est un index 2dsphere sur
location
champ. - Le troisième index est sur le
name
domaine. Dans ce cas, il s'agit d'un index caché (il a"hidden" : true
dans sa spécification).
Déposer un index par nom
Voici un exemple de suppression d'un index en passant son nom au dropIndex()
méthode :
db.bars.dropIndex("location_2dsphere")
Sortie :
{ "nIndexesWas" : 3, "ok" : 1 }
Cela nous indique que l'index a été supprimé avec succès.
Déposer un index par sa spécification
Voici un exemple de suppression d'un index en passant son document de spécification au dropIndex()
méthode :
db.bars.dropIndex( { "name" : 1 } )
Sortie :
{ "nIndexesWas" : 2, "ok" : 1 }
Nous pouvons voir que cet index a également été supprimé.
Vous vous souviendrez que c'est l'index qui était caché. Vous pouvez supprimer des index cachés sans problème (vous n'avez pas besoin de les afficher avant de les supprimer).
Vérifiez les résultats
Exécutons getIndexes()
à nouveau pour voir les résultats :
db.bars.getIndexes()
Résultat :
[ { "v" : 2, "key" : { "_id" : 1 }, "name" : "_id_" } ]
Cette fois, il n'y a qu'un seul index - le _id
par défaut indice.
Le dropIndex()
la méthode est un wrapper autour des dropIndexes
commande.
Documentation MongoDB
Voir la documentation MongoDB pour plus d'informations sur le dropIndex()
méthode.