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()
kdenames
je název kolekce. Dokumenty zde. - Před verzí 3.0 máte přístup k
system.indexes
kolekce afind
jak bri popisuje níže.