MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

MongoDB dropIndex()

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.