MongoDB propose plusieurs façons de supprimer un index ou des index.
Pour supprimer un seul index, vous pouvez utiliser le dropIndex()
méthode.
Pour supprimer plusieurs index, vous pouvez utiliser soit le dropIndexes()
ou la méthode dropIndexes
commande administrative.
Le dropIndex()
Méthode
Si vous n'avez besoin de supprimer qu'un seul index, vous pouvez utiliser le dropIndex()
méthode. Cette méthode accepte le nom de l'index ou son document de spécification.
Voici un exemple de suppression d'un index en utilisant le nom de l'index :
db.bars.dropIndex("location_2dsphere")
Sortie :
{ "nIndexesWas" : 3, "ok" : 1 }
Cela nous indique que l'index appelé location_2dsphere
a été supprimée avec succès.
Voici un exemple de suppression d'un index en transmettant son document de spécification :
db.bars.dropIndex( { "name" : 1 } )
Sortie :
{ "nIndexesWas" : 2, "ok" : 1 }
Nous pouvons voir que cet indice a également été supprimé. Cet index avait une spécification de { "name" : 1 }
, qui est le document de spécification que j'ai utilisé lors de la création de l'index.
Le dropIndex()
la méthode est un wrapper autour des dropIndexes
commande.
Les dropIndexes()
Méthode
Le dropIndexes()
La méthode peut être pratique si vous devez supprimer plusieurs index. Vous pouvez également supprimer un seul index, il a simplement la capacité supplémentaire de pouvoir supprimer plusieurs (ou tous) index.
Cette méthode accepte le nom de l'index ou son document de spécification pour chacun des index à supprimer. Si vous supprimez plusieurs index, vous devez fournir leurs noms/documents de spécification dans un tableau.
Voici un exemple de suppression de deux index en utilisant leurs noms d'index :
db.pets.dropIndexes( [ "type_1", "name_1" ])
Sortie :
{ "nIndexesWas" : 3, "ok" : 1 }
Notez que, s'il s'agit d'un index de texte, vous ne pouvez spécifier que le nom de l'index.
Vous pouvez supprimer tous les index (sauf pour le _id
index) en omettant complètement le paramètre :
db.pets.dropIndexes()
Le dropIndexes()
la méthode est un wrapper autour des dropIndexes
commande.
Les dropIndexes
Commande
Les dropIndexes
La commande vous permet de faire la même chose que le dropIndexes()
méthode. Comme mentionné, le dropIndexes()
la méthode est un wrapper autour des dropIndexes
commande
Voici un exemple de suppression d'un seul index :
db.runCommand( { dropIndexes: "posts", index: "title_1" })
Sortie :
{ "nIndexesWas" : 4, "ok" : 1 }
Et voici un exemple de suppression de plusieurs index :
db.runCommand( {
dropIndexes: "posts",
index: [ "tags_1", "body_text" ]
})
Résultat :
{ "nIndexesWas" : 3, "ok" : 1 }
Pour supprimer tous les index (sauf pour le _id
index), utilisez le caractère générique astérisque (*
):
db.runCommand( { dropIndexes: "posts", index: "*" })
Résultat :
{ "nIndexesWas" : 4, "msg" : "non-_id indexes dropped for collection", "ok" : 1 }