Overview
En esta página, puede ver ejemplos de código copiables que muestran cómo administrar diferentes tipos de índices mediante el controlador Ruby de MongoDB.
Para usar un ejemplo de esta página, copie el código en la aplicación de ejemplo o en su propia aplicación. Asegúrese de reemplazar todos los marcadores de posición en los ejemplos de código, como <connection string>, con los valores relevantes para su implementación de MongoDB.
Aplicación de muestra
Puede usar la siguiente aplicación de ejemplo para probar el código de esta página. Para usarla, siga estos pasos:
Asegúrese de tener el controlador Ruby instalado en su proyecto. Consulte la Guía de descarga e instalación para obtener más información.
Copia el siguiente código y pégalo en un nuevo archivo
.rb.Copia un ejemplo de código de esta página y pégalo en las líneas especificadas del archivo.
require 'mongo' # Replace the placeholders with your credentials uri = "<connection string>" # Sets the server_api field of the options object to Stable API version 1 options = { server_api: { version: "1" }} # Creates a new client and connect to the server client = Mongo::Client.new(uri, options) database = client.use('<database name>') collection = database[:<collection name>] # Start example code here # End example code here client.close
Índice de un solo campo
El siguiente ejemplo crea un índice ascendente en el campo especificado:
collection.indexes.create_one({ <field name>: 1 })
Para obtener más información sobre los índices de campo único, consulte la guía Índices de campo único.
Índice compuesto
El siguiente ejemplo crea un índice compuesto en los dos campos especificados.
collection.indexes.create_one({ <field name 1>: -1, <field name 2>: 1 })
Para aprender más sobre índices compuestos, consulta la guía de Índices compuestos.
Multikey Index
El siguiente ejemplo crea un índice de varias claves en el campo especificado que tiene valores de arreglo:
collection.indexes.create_one({ <field name>: 1 })
Para obtener más información sobre los índices de claves múltiples, consulte la guía Índices de claves múltiples.
Índice geoespacial
El siguiente ejemplo crea un 2índice dsphere en el campo especificado que contiene objetos GeoJSON:
collection.indexes.create_one({ <GeoJSON field name>: '2dsphere' })
Para obtener más información sobre los índices geoespaciales, consulte la guía Índices geoespaciales.
Gestión de índices de MongoDB Search
Las siguientes secciones contienen ejemplos de código que describen cómo gestionar los índices de MongoDB Search.
Para obtener más información sobre los índices de búsqueda, consulta la guía Índices de MongoDB Search y MongoDB Vector Search.
Crear índice de búsqueda
El siguiente ejemplo crea un índice de búsqueda de MongoDB en el campo especificado:
index_definition = { mappings: { dynamic: false, fields: { <field name>: { type: '<field type>' } } } } collection.search_indexes.create_one(index_definition, name: '<index name>')
Índices de búsqueda de listas
El siguiente ejemplo imprime una lista de los índices de búsqueda de MongoDB en la colección especificada:
puts collection.search_indexes.collect(&:to_json)
Actualizar índices de búsqueda
El siguiente ejemplo actualiza un índice existente de MongoDB Search con la nueva definición de índice especificada:
updated_definition = { mappings: { dynamic: false, fields: { <updated field name>: { type: '<updated field type>' } } } } collection.search_indexes.update_one(updated_definition, name: '<index name>')
Eliminar índices de búsqueda
El siguiente ejemplo elimina un índice de búsqueda de MongoDB con el nombre especificado:
collection.search_indexes.drop_one(name: '<index name>')
Text Index
El siguiente ejemplo crea un índice de texto en el campo de string especificado:
collection.indexes.create_one({ <field name>: 'text' })
Para obtener más información sobre los índices de texto, consulta la guía de Índices de Texto.
Crear muchos índices
El siguiente ejemplo crea varios índices en el arreglo dado de especificaciones de índices:
collection.indexes.create_many([ { key: { <field name 1>: 1 } }, { key: { <field name 2>: -1 } }, ])
Descartar índice
El siguiente ejemplo borra un índice con el nombre especificado:
collection.indexes.drop_one( '<index name>' )
El siguiente ejemplo muestra cómo eliminar todos los índices de una colección:
collection.indexes.drop_all
Enumerar índices
El siguiente ejemplo imprime una lista de todos los índices en la colección especificada:
puts collection.indexes.collect(&:to_json)
Opciones del índice
A continuación se presenta una lista completa de las opciones disponibles que puedes agregar al crear índices. Estas opciones reflejan las opciones admitidas por el comando createIndex. Para obtener más información, consulte el createIndex command en el manual de MongoDB Server.
Opción | Descripción |
|---|---|
|
|
| Número de segundos después de los cuales caducarán los documentos en la colección. |
| El nombre del índice. |
| Si el índice debe ser disperso o no, ya sea |
| El nombre del motor de almacenamiento para este índice en particular. |
| La versión del formato de índice que se utilizará. |
| El lenguaje por defecto de los índices de texto. |
| El nombre del campo que se usará para anular el lenguaje por defecto. |
| El formato de versión para el almacenamiento de índices de texto. |
| Un documento que especifica campos y pesos en la búsqueda de texto. |
| La versión del índice de esfera 2d. |
| Establece el límite máximo para la latitud y la longitud en el índice 2d. |
| Límite máximo para latitud y longitud en el índice 2d. |
| Límite mínimo para latitud y longitud en el índice 2d. |
| El número de unidades dentro de las cuales se agruparán los valores de ubicación en un índice de pajar geográfico. |
| Un filtro para un índice parcial. |
| Un booleano que especifica si el índice debe estar oculto; un índice oculto es aquel que existe en la colección pero no será utilizado por el planificador de query. |
| Especifica cuántos miembros que contienen datos en un set de réplicas, incluido el primario, deben completar correctamente la creación de índices antes de que el primario marque los índices como listos. Los valores potenciales son:
Para más información, consulta commitQuorum en el manual del MongoDB Server. |
Documentación de la API
Para obtener más información sobre los métodos u objetos utilizados en esta guía, consulta la siguiente documentación de la API: