Docs Menu
Docs Home
/ /

Índices de un solo campo

Los índices de campo único son índices que hacen referencia a un solo campo de un documento de una colección. Estos índices mejoran el rendimiento de las consultas y la ordenación de campos únicos. También admiten Índices TTL que eliminan automáticamente documentos de una colección después de una cierta cantidad de tiempo o en una hora de reloj específica.

Al crear un índice de campo único, debe especificar los siguientes detalles:

  • El campo en el que se creará el índice

  • El orden de clasificación de los valores indexados como ascendente o descendente

Nota

El valor predeterminado _id_ El índice es un ejemplo de índice de campo único. Este índice se crea automáticamente en el campo _id al crear una nueva colección.

Los ejemplos de esta guía utilizan la movies colección sample_mflix de la base de datos de los conjuntos de datos de ejemplo de Atlas. Para acceder a esta colección desde su aplicación Ruby, cree un Mongo::Client objeto que se conecte a un clúster de Atlas y asigne los siguientes valores a database las collection variables y:

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, consulte la guía Introducción a Atlas.

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

Puede verificar la creación del índice enumerando los índices de la colección. Debería ver un índice para title en la lista, como se muestra en el siguiente resultado:

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

El siguiente es un ejemplo de una consulta 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 índices, consulte Optimizar consultas mediante el uso de í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 analizados en esta guía, consulte la siguiente documentación de API:

Volver

Indexes

En esta página