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

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 query y de la clasificación por campo único. También brindan apoyo Í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 ejemplo de Atlas. Para aprender cómo crear un clúster gratuito de MongoDB Atlas y cargar los conjuntos de datos de muestra, consulta Comienza con Atlas.

Para ejecutar los ejemplos en esta guía, debes incluir las siguientes instrucciones de importación en tu archivo:

import org.mongodb.scala._
import org.mongodb.scala.model.Indexes
import org.mongodb.scala.model.IndexOptions._
import org.mongodb.scala.model.Filters._
import scala.concurrent.Await
import scala.concurrent.duration._
import scala.util.{Failure, Success}
import java.util.concurrent.TimeUnit

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

val index = Indexes.ascending("title")
val observable = collection.createIndex(index)
Await.result(observable.toFuture(), Duration(10, TimeUnit.SECONDS))

Puedes verificar que se creó el índice utilizando el método listIndexes(). Deberías ver un índice para title en la lista, como se muestra en la siguiente salida:

collection.listIndexes().subscribe((doc: Document) => println(doc.toJson()),
(e: Throwable) => println(s"There was an error: $e"))
{"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:

val filter = equal("title", "Sweethearts")
collection.find(filter).first().subscribe((doc: Document) => println(doc.toJson()),
(e: Throwable) => println(s"There was an error: $e"))
{"_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