MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

3 sposoby na porzucenie indeksu w MongoDB

MongoDB zapewnia kilka sposobów na usunięcie indeksu lub indeksów.

Aby usunąć pojedynczy indeks, możesz użyć dropIndex() metoda.

Aby usunąć wiele indeksów, możesz użyć funkcji dropIndexes() metody lub dropIndexes polecenie administracyjne.

dropIndex() Metoda

Jeśli chcesz usunąć tylko jeden indeks, możesz użyć dropIndex() metoda. Ta metoda akceptuje nazwę indeksu lub dokument specyfikacji.

Oto przykład upuszczania indeksu przy użyciu nazwy indeksu:

db.bars.dropIndex("location_2dsphere")

Wyjście:

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

To mówi nam, że indeks o nazwie location_2dsphere został pomyślnie usunięty.

Oto przykład upuszczania indeksu przez przekazanie jego dokumentu specyfikacji:

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

Wyjście:

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

Widzimy, że ten wskaźnik również spadł. Ten indeks miał specyfikację { "name" : 1 } , który jest dokumentem specyfikacji, którego użyłem podczas tworzenia indeksu.

dropIndex() metoda jest opakowaniem wokół dropIndexes polecenie.

dropIndexes() Metoda

dropIndexes() metoda może być przydatna, jeśli chcesz usunąć więcej niż jeden indeks. Możesz także usunąć pojedynczy indeks, ma on tylko dodatkową możliwość usunięcia wielu (lub wszystkich) indeksów.

Ta metoda akceptuje nazwę indeksu lub jego dokument specyfikacji dla każdego indeksu do usunięcia. Jeśli upuszczasz więcej niż jeden indeks, musisz podać ich nazwy/dokumenty specyfikacji w tablicy.

Oto przykład usunięcia dwóch indeksów przy użyciu ich nazw indeksów:

db.pets.dropIndexes( [ "type_1", "name_1" ])

Wyjście:

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

Pamiętaj, że jeśli jest to indeks tekstowy, możesz określić tylko nazwę indeksu.

Możesz usunąć wszystkie indeksy (z wyjątkiem _id index) przez całkowite pominięcie parametru:

db.pets.dropIndexes()

dropIndexes() metoda jest opakowaniem wokół dropIndexes polecenie.

dropIndexes Polecenie

dropIndexes polecenie pozwala zrobić to samo, co dropIndexes() metoda. Jak wspomniano, dropIndexes() metoda jest opakowaniem wokół dropIndexes polecenie

Oto przykład upuszczania pojedynczego indeksu:

db.runCommand( { dropIndexes: "posts", index: "title_1" })

Wyjście:

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

A oto przykład upuszczania wielu indeksów:

db.runCommand( { 
  dropIndexes: "posts", 
  index: [ "tags_1", "body_text" ] 
})

Wynik:

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

Aby usunąć wszystkie indeksy (z wyjątkiem _id indeks), użyj symbolu wieloznacznego gwiazdki (* ):

db.runCommand( { dropIndexes: "posts", index: "*" })

Wynik:

{
	"nIndexesWas" : 4,
	"msg" : "non-_id indexes dropped for collection",
	"ok" : 1
}

  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Dodaj wiodące zera w SQL

  2. Jak określić kolejność właściwości w obiekcie javascript dla indeksu MongoDB w node.js?

  3. Czynniki do rozważenia przy wyborze MongoDB dla aplikacji Big Data

  4. Jeśli mam identyfikator dokumentu mongo jako ciąg, jak mogę zapytać o to jako _id?

  5. Mongodb $where zapytanie zawsze prawdziwe z nodejs