Menu Docs
Página inicial do Docs
/ /

Criar um índice em um campo único

Você pode criar um índice em um único campo para melhorar o desempenho de query nesse campo.

Para criar um índice de campo único, utilize o método db.collection.createIndex():

db.<collection>.createIndex( { <field>: <sort-order> } )

Crie uma coleção de students que contenha os seguintes documentos:

db.students.insertMany( [
{
"name": "Alice",
"gpa": 3.6,
"location": { city: "Sacramento", state: "California" }
},
{
"name": "Bob",
"gpa": 3.2,
"location": { city: "Albany", state: "New York" }
}
] )

Os exemplos a seguir mostram como:

  • Criar um índice em um campo único

  • Criar um Índice em um Campo Incorporado

Considere um administrador da escola que frequentemente procura alunos pelo GPA. Você pode criar um índice no campo gpa para melhorar o desempenho dessas query:

db.students.createIndex( { gpa: 1 } )

O índice suporta queries que selecionam no campo gpa, como o seguinte:

db.students.find( { gpa: 3.6 } )
db.students.find( { gpa: { $lt: 3.4 } } )

É possível criar índices em campos dentro de documentos incorporados. Os índices em campos incorporados podem atender a queries que usam notação de ponto.

O campo location é um documento incorporado que contém os campos incorporados city e state. Crie um índice no campo location.state:

db.students.createIndex( { "location.state": 1 } )

O índice suporta queries no campo location.state, como o seguinte:

db.students.find( { "location.state": "California" } )
db.students.find( { "location.city": "Albany", "location.state": "New York" } )

Voltar

Campo Único

Nesta página