Cuando crea un índice, puede darle al índice un nombre personalizado. Asignar un nombre a su índice ayuda a diferenciar los distintos índices de su colección. Por ejemplo, puede identificar más fácilmente los índices utilizados por un query en los resultados de la explicación del plan del query si sus índices tienen nombres distintos.
Para especificar el nombre del índice, incluye la opción name al crear el índice:
db.<collection>.createIndex( { <field>: <value> }, { name: "<indexName>" } )
Acerca de esta tarea
Antes de especificar un nombre de índice, considere lo siguiente:
Los nombres de los índices deben ser únicos. Crear un índice con el nombre de un índice existente genera un error.
No puedes renombrar un índice existente. En su lugar, debes descartar y volver a crear el índice con un nuevo nombre.
Nombres de índices por defecto
Si no especificas un nombre durante la creación del índice, el sistema genera el nombre concatenando cada campo clave del índice y su valor con guiones bajos. Por ejemplo:
Index | Nombre por defecto |
|---|---|
|
|
|
|
|
|
|
|
Procedimiento
Una colección blog contiene datos sobre entradas de blog e interacciones de usuarios.
Cree un índice de texto en los campos content, users.comments y users.profiles. Configure el índice name a InteractionsTextIndex:
db.blog.createIndex( { content: "text", "users.comments": "text", "users.profiles": "text" }, { name: "InteractionsTextIndex" } )
Resultados
Después de crear el índice, puede utilizar el método db.collection.getIndexes() para obtener el nombre del índice:
db.blog.getIndexes()
Salida:
[ { v: 2, key: { _id: 1 }, name: '_id_' }, { v: 2, key: { _fts: 'text', _ftsx: 1 }, name: 'InteractionsTextIndex', weights: { content: 1, 'users.comments': 1, 'users.profiles': 1 }, default_language: 'english', language_override: 'language', textIndexVersion: 3 } ]
Obtén más información
Para aprender cómo crear un índice, consulte Crear un índice.
Para obtener más información sobre las propiedades del índice, consulte Propiedades del índice.