MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

MongoDB dropIndex()

Es gibt mehrere Möglichkeiten, einen Index in MongoDB zu löschen, eine davon ist die Verwendung von dropIndex() Methode.

Es ist ziemlich einfach zu verwenden – übergeben Sie einfach den Namen des Index oder sein Definitions-/Spezifikationsdokument. Wenn es sich um einen Textindex handelt, können Sie nur den Indexnamen angeben.

Beispielindizes

Angenommen, wir haben eine Sammlung namens bars . Wir können getIndexes() verwenden um zu sehen, welche Indizes es hat:

db.bars.getIndexes()

Ergebnis:

[
	{
		"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
	}
]

Wir können sehen, dass es drei Indizes auf den bars gibt Sammlung.

  • Der erste Index ist auf _id Feld. MongoDB erstellt einen eindeutigen Index für die _id Feld während der Erstellung einer Sammlung. Sie können diesen Index nicht löschen.
  • Der zweite Index ist ein 2dsphere-Index am location Feld.
  • Der dritte Index ist auf name Feld. In diesem Fall handelt es sich um einen versteckten Index (er hat "hidden" : true in seiner Spezifikation).

Löschen Sie einen Index nach Namen

Hier ist ein Beispiel für das Löschen eines Index, indem sein Name an dropIndex() übergeben wird Methode:

db.bars.dropIndex("location_2dsphere")

Ausgabe:

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

Dies sagt uns, dass der Index erfolgreich gelöscht wurde.

Löschen Sie einen Index anhand seiner Spezifikation

Hier ist ein Beispiel für das Löschen eines Indexes, indem sein Spezifikationsdokument an dropIndex() übergeben wird Methode:

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

Ausgabe:

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

Wir können sehen, dass dieser Index ebenfalls gelöscht wurde.

Sie werden sich daran erinnern, dass dies der ausgeblendete Index ist. Sie können versteckte Indizes problemlos löschen (Sie müssen sie nicht einblenden, bevor Sie sie löschen).

Überprüfen Sie die Ergebnisse

Lassen Sie uns getIndexes() ausführen erneut, um die Ergebnisse zu sehen:

db.bars.getIndexes()

Ergebnis:

[ { "v" : 2, "key" : { "_id" : 1 }, "name" : "_id_" } ]

Diesmal gibt es nur einen Index – die Standardeinstellung _id index.

Der dropIndex() Methode ist ein Wrapper um die dropIndexes Befehl.

MongoDB-Dokumentation

Weitere Informationen zu dropIndex() finden Sie in der MongoDB-Dokumentation Methode.