Att skapa index i MongoDB är en idempotent operation. Så kör db.names.createIndex({name:1}) skulle skapa indexet bara om det inte redan fanns.
Det utfasade (från MongoDB 3.0) alias för createIndex() är ensureIndex() vilket är lite tydligare på vad createIndex() faktiskt gör det.
Redigera: Tack till ZitRo för att du i kommentarerna klargjorde att anropet createIndex() med samma namn men andra alternativ än ett befintligt index kommer att ge ett felmeddelande MongoError: Index with name: **indexName** already exists with different options som förklaras i denna fråga.
Om du har andra skäl att kontrollera kan du komma åt aktuella indexdata på ett av två sätt:
- Från och med v3.0 kan vi använda
db.names.getIndexes()därnamesär namnet på samlingen. Dokument här. - Före v3.0 kan du komma åt
system.indexessamla in och gör enfindsom bri beskriver nedan.