Dans cet article, nous explorerons comment utiliser la méthode DropIndexes () dans MongoDB Shell pour supprimer un index d'une collection donnée. Nous allons également créer un script simple pour supprimer tous les index d'une collection donnée.
Plongeons-nous dans.
MongoDB DB.Collection.DropIndexes ()
Pour supprimer un index spécifique d'une collection, nous utilisons la méthode DropIndexes () et passons l'index cible que vous souhaitez supprimer de la collection.
Vous pouvez spécifier le nom d'index s'il s'agit d'un index de texte ou du document de spécification d'index.
Exemple 1: déposez un index par nom
Dans l'exemple de requête suivante, nous pouvons utiliser la méthode DropIndexes () pour supprimer un index sous le nom, «Type».
ent> db.netflix.dropIndexes ("type")
La commande donnée supprime l'index avec le nom, «type». La suppression d'un index par nom est prise en charge pour les types d'index de texte.
La requête renvoie une sortie comme suit:
nindexeswas: 4, ok: 1
Exemple 2: déposez plusieurs index par nom
Nous pouvons également supprimer plusieurs index en utilisant leurs noms comme indiqué dans l'exemple de requête suivante:
db.netflix.DropIndexes ("année", "note")
Dans ce cas, la commande devrait supprimer les index «année» et «notation» de la collection.
Sortir:
nindexeswas: 3, ok: 1
Exemple 3: déposez tous les index à l'exception de l'index _ID
L'exemple de requête suivante montre comment utiliser la méthode dropIndexes () pour supprimer tous les index d'une collection donnée sauf l'index _ID.
db.netflix.dropIndexes ()
La commande doit supprimer tous les index non _ID de la collection comme indiqué dans la sortie suivante:
Nindexeswas: 4,
MSG: «les index non _id ont été abandonnés pour la collecte»,
OK: 1
Exemple 4: déposez tous les index d'une base de données donnée
Si nous souhaitons supprimer tous les index d'une base de données donnée, nous pouvons utiliser un script simple comme indiqué dans l'exemple suivant:
db.getCollectionNames ().foreach (function (collectionName)
… DB.runCommand (dropIndexes: CollectionName, index: "*");
…);
La commande précédente utilise la fonction foreach pour itérer sur chaque collection de la base de données. Il passe ensuite chaque collection à la commande DropIndexes et à l'index cible en tant que personnage générique.
Cela devrait vous permettre de supprimer tous les index non _ID de la base de données à une étape simple.
Conclusion
Dans cet article, nous avons discuté de la façon d'utiliser la méthode DropIndexes dans la coque MongoDB pour supprimer un ou plusieurs index d'une collection.