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

Índices de un solo campo

Índices de un solo campo son índices con una referencia a un solo campo de un documento en una colección. Estos índices mejoran la performance de query y ordenación en un único campo. También admiten Índices TTL que remueven automáticamente los documentos de una colección después de cierto período de tiempo o en un momento específico programado.

Cuando se crea un índice de campo único, se deben especificar los siguientes detalles:

  • El campo en el que crear el índice

  • El orden de clasificación de los valores indexados puede ser ascendente o descendente.

Nota

Por defecto _id_ index es un ejemplo de un índice de campo único. Este índice se crea automáticamente en el campo _id cuando se crea una nueva colección.

Los ejemplos de esta guía utilizan la colección movies en la base de datos sample_mflix de los conjuntos de datos de muestra de Atlas. Para acceder a esta colección desde tu aplicación Ruby, crea un objeto Mongo::Client que se conecte a un clúster de Atlas y asigna los siguientes valores a tus variables database y collection:

database = client.use('sample_mflix')
collection = database[:movies]

Para aprender a crear un clúster gratuito de MongoDB Atlas y cargar los conjuntos de datos de muestra, consulta la guía Comenzar con Atlas.

Utiliza el método create_one para crear un índice de campo único. El siguiente ejemplo crea un índice en orden ascendente en el campo title:

# Creates an index on the "title" field
collection.indexes.create_one({ title: 1 })

Puedes verificar que el índice se creó al listar los índices en la colección. Deberías ver un índice para title en la lista, como se muestra en la siguiente salida:

# Lists all indexes on the collection
puts collection.indexes.collect(&:to_json)
{"v": 2, "key": {"title": 1}, "name": "title_1"}

A continuación, se muestra un ejemplo de una query que está cubierta por el índice creado en el campo title:

# Finds a document with the title "Sweethearts" by using the newly created index
filter = { title: 'Sweethearts' }
doc = collection.find(filter).first
if doc
puts doc.to_json
else
puts "No document found"
end
{"_id":...,"plot":"A musical comedy duo...",
"genres":["Musical"],...,"title":"Sweethearts",...}

Para ver ejemplos ejecutables que demuestran cómo administrar los índices, consulte Optimizar las Consultas Utilizando Índices.

Para aprender más sobre los índices de campo único, consulta Índices de campo único en el manual de MongoDB Server.

Para obtener más información sobre cualquiera de los métodos mencionados en esta guía, consulta la siguiente documentación de la API:

Volver

Indexes

En esta página