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

Sprawdzanie, czy indeks istnieje w mongodb

Tworzenie indeksów w MongoDB jest operacją idempotentną. Uruchamianie db.names.createIndex({name:1}) utworzy indeks tylko wtedy, gdy jeszcze nie istnieje.

Przestarzały (od MongoDB 3.0) alias dla createIndex() to upewnij się, że indeks() co jest nieco jaśniejsze na temat tego, co createIndex() faktycznie.

Edytuj: Dziękujemy ZitRo za wyjaśnienie w komentarzach, że wywołanie createIndex() o tej samej nazwie, ale innych opcjach niż istniejący indeks, zwróci błąd MongoError: Index with name: **indexName** already exists with different options jak wyjaśniono w tym pytaniu.

Jeśli masz inne powody do sprawdzenia, możesz uzyskać dostęp do aktualnych danych indeksowych na dwa sposoby:

  1. Od wersji 3.0 możemy użyć db.names.getIndexes() gdzie names to nazwa kolekcji. Dokumenty tutaj.
  2. Przed wersją 3.0 możesz uzyskać dostęp do system.indexes kolekcji i wykonaj find jak bri opisuje poniżej.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak wykonać surowe operacje mongodb w manguście?

  2. MongoDB, Mongoose:Jak znaleźć poddokument w znalezionym dokumencie?

  3. Jak zaktualizować, jeśli istnieje, w przeciwnym razie wstawić nowy dokument?

  4. MongoDB $milisekundy

  5. Flask — złe żądanie Przeglądarka (lub serwer proxy) wysłała żądanie, którego ten serwer nie mógł zrozumieć