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 compuestos

Los índices compuestos contienen referencias a múltiples campos dentro de los documentos de una colección, mejorando el rendimiento de las consultas y la clasificación.

Al crear un índice compuesto, debe especificar los siguientes detalles:

  • Los campos sobre los que crear el índice

  • El orden de clasificación para cada campo (ascendente o descendente)

Los ejemplos de esta guía utilizan el movies colección en la base de datos sample_mflix de la Conjuntos de datos de muestra de Atlas. Para acceder a esta colección desde su aplicación Ruby, cree un objeto Mongo::Client que se conecte a un clúster Atlas y asigne los siguientes valores a las 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.

Utilice el método create_one para crear un índice compuesto. El siguiente ejemplo crea un índice en orden descendente en el campo runtime y en orden ascendente en el campo year:

collection.indexes.create_one({ runtime: -1, year: 1 })

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

puts collection.indexes.collect(&:to_json)
{"v": 2, "key": {"runtime": -1, "year": 1}, "name": "runtime_-1_year_1"}

A continuación se muestra un ejemplo de una query que está cubierta por el índice creado en los campos runtime y year:

filter = { '$and' => [
{ runtime: { '$gt' => 90 } },
{ year: { '$gt' => 2005 } }
] }
doc = collection.find(filter).first
if doc
puts doc.to_json
else
puts "No document found"
end
{"_id":...,"runtime": 91,...,"title": "Monster House",...,"year": 2006,...}

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

Para saber más sobre los índices compuestos, consulta Índices Compuestos en el manual del 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

Campo único

En esta página