Vytváření indexů v MongoDB je idempotentní operace. Takže spusťte db.names.createIndex({name:1}) vytvoří index pouze v případě, že by již neexistoval.
Zastaralý (od MongoDB 3.0) alias pro createIndex() je ensureIndex() což je o něco jasnější, co createIndex() vlastně ano.
Upravit: Děkujeme ZitRo za objasnění v komentářích, že volání createIndex() se stejným názvem, ale jinými možnostmi než existující index vyvolá chybu MongoError: Index with name: **indexName** already exists with different options jak je vysvětleno v této otázce.
Pokud máte jiné důvody pro kontrolu, můžete k aktuálním datům indexu přistupovat jedním ze dvou způsobů:
- Od verze 3.0 můžeme používat
db.names.getIndexes()kdenamesje název kolekce. Dokumenty zde. - Před verzí 3.0 máte přístup k
system.indexeskolekce afindjak bri popisuje níže.