Menu Docs
Página inicial do Docs
/
Manual do MongoDB
/ /

Especificar um nome de índice

Nesta página

  • Sobre esta tarefa
  • Nomes de índices padrão
  • Procedimento
  • Resultados
  • Saiba mais

Ao criar um índice, você pode atribuir a ele um nome personalizado. Dar um nome ao seu índice ajuda a distinguir os diferentes índices em sua coleção. Por exemplo, você poderá identificar mais facilmente os índices usados por uma query nos resultados da explicação do plano de query se os índices tiverem nomes distintos.

Para especificar o nome do índice, inclua a opção name ao criar o índice:

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

Antes de especificar um nome de índice, considere o seguinte:

  • Os nomes de índice devem ser únicos. Criar um índice com o nome de um índice existente retorna um erro.

  • Você não pode renomear um índice existente. Em vez disso, você deve descartar e recriar o índice com um novo nome.

Se você não especificar um nome durante a criação do índice, o sistema irá gerar o nome concatenando cada campo-chave e valor do índice com sublinhados. Por exemplo:

Index
Nome padrão

{ 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

Uma collection do blog contém dados sobre blog posts e interações com usuários.

Crie um índice de texto nos campos content, users.comments e users.profiles. Defina o índice name como InteractionsTextIndex:

db.blog.createIndex(
{
content: "text",
"users.comments": "text",
"users.profiles": "text"
},
{
name: "InteractionsTextIndex"
}
)

Após criar o índice, você pode utilizar o método db.collection.getIndexes() para obter o nome do índice:

db.blog.getIndexes()

Saída:

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

Voltar

criar