Indexen maken in MongoDB is een idempotent-bewerking. Dus het uitvoeren van db.names.createIndex({name:1})
zou de index alleen maken als deze nog niet bestond.
De verouderde (vanaf MongoDB 3.0) alias voor createIndex() is ensureIndex() wat een beetje duidelijker is over wat createIndex()
eigenlijk wel.
Bewerken: Met dank aan ZitRo voor het verduidelijken in opmerkingen dat het aanroepen van createIndex()
met dezelfde naam maar andere opties dan een bestaande index geeft een fout MongoError: Index with name: **indexName** already exists with different options
zoals uitgelegd in deze vraag.
Als u andere redenen heeft om te controleren, kunt u op twee manieren toegang krijgen tot de huidige indexgegevens:
- Vanaf v3.0 kunnen we
db.names.getIndexes()
gebruiken waarnames
is de naam van de collectie. Documenten hier. - Vóór v3.0 heb je toegang tot de
system.indexes
verzameling en doe eenfind
zoals bri hieronder beschrijft.