Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
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 se creará el índice

  • El orden de clasificación de los valores indexados puede ser 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 aprender a crear un clúster gratuito de MongoDB Atlas y cargar los conjuntos de datos de ejemplo, consulte la sección Primeros pasos con Atlas.

Para ejecutar los ejemplos de esta guía, debe incluir las siguientes declaraciones de importación en su 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))

Puede verificar que el índice se creó mediante el método listIndexes(). Debería ver un índice para title en la lista, como se muestra en el siguiente resultado:

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"}

El siguiente es un ejemplo de una consulta 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