Oprettelse af indekser i MongoDB er en idempotent operation. Så kører db.names.createIndex({name:1})
ville kun oprette indekset, hvis det ikke allerede eksisterede.
Det forældede (fra MongoDB 3.0) alias for createIndex() er ensureIndex() hvilket er lidt tydeligere om hvad createIndex()
faktisk gør.
Rediger: Tak til ZitRo for at præcisere i kommentarer, at kaldet createIndex()
med det samme navn, men andre muligheder end et eksisterende indeks vil give en fejl MongoError: Index with name: **indexName** already exists with different options
som forklaret i dette spørgsmål.
Hvis du har andre grunde til at tjekke, så kan du få adgang til aktuelle indeksdata på en af to måder:
- Fra og med v3.0 kan vi bruge
db.names.getIndexes()
hvornames
hedder samlingen. Dokumenter her. - Før v3.0 kan du få adgang til
system.indexes
indsamling og lav enfind
som bri beskriver nedenfor.