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:
- Od wersji 3.0 możemy użyć
db.names.getIndexes()gdzienamesto nazwa kolekcji. Dokumenty tutaj. - Przed wersją 3.0 możesz uzyskać dostęp do
system.indexeskolekcji i wykonajfindjak bri opisuje poniżej.