Docs Menu
Docs Home
/ /

Especifique un nombre de índice

Al crear un índice, puede asignarle un nombre personalizado. Esto ayuda a distinguir los diferentes índices de su colección. Por ejemplo, puede identificar más fácilmente los índices utilizados por una consulta en el plan de consulta. Explique los resultados si sus índices tienen nombres distintos.

Para especificar el nombre del índice, incluya el name opción al crear el índice:

db.<collection>.createIndex(
{ <field>: <value> },
{ name: "<indexName>" }
)

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.

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

{ score : 1 }

score_1

{ content : "text", "description.tags": "text" }

content_text_description.tags_text

{ category : 1, locale : "2dsphere"}

category_1_locale_2dsphere

{ "fieldA" : 1, "fieldB" : "hashed", "fieldC" : -1 }

fieldA_1_fieldB_hashed_fieldC_-1

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"
}
)

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
}
]

Volver

Crear

En esta página