Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
Docs Menu
Docs Home
/ /

Crear un índice en un único campo

Puede crear un índice en un solo campo para mejorar el rendimiento de las consultas en ese campo.

Para crear un índice de campo único, utiliza el db.collection.createIndex() :

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

Creá una colección students que contenga los siguientes 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" }
}
] )

Los siguientes ejemplos te muestran cómo:

  • Crear un índice en un único campo

  • Crear un índice en un campo incrustado

Considera a un administrador escolar que busca frecuentemente a los estudiantes por su GPA. Se puede crear un índice en el campo gpa para mejorar el rendimiento de esas consultas:

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

El índice admite consultas que seleccionan en el campo gpa, tales como las siguientes:

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

Puedes crear índices en campos dentro de documentos incrustados. Los índices en campos embebidos pueden satisfacer las queries que utilizan notación de puntos.

El campo location es un documento incrustado que contiene los campos incrustados city y state. Crea un índice en el campo location.state:

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

El índice admite consultas en el campo location.state, como las siguientes:

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

Volver

Campo único

En esta página