Overview
En esta guía, puedes aprender a especificar las opciones de configuración para una colección en tu aplicación Mongoid.
Configurar opciones de colección
Puedes especificar opciones de configuración para una colección utilizando el argumento :collection_options con la macro store_in. El argumento :collection_options acepta cualquier opción de colección que admitan las versiones de tu controlador Ruby y de MongoDB Server.
Nota
Debe crear explícitamente una colección para aplicar cualquier opción de colección especificada. Crea tu colección ejecutando la tarea de gestión de colecciones Rake, como se muestra en la sección Tarea de gestión de colecciones Rake de esta guía.
Para aprender más sobre las opciones de colección disponibles en el driver de Ruby, consulta la guía Base de Datos y Colecciones en la documentación del driver de Ruby.
Las siguientes secciones muestran ejemplos de cómo configurar opciones de colección cuando se usa Mongoid.
Colección de series de tiempo
Las colecciones de series temporales almacenan eficientemente secuencias de mediciones a lo largo de un período de tiempo. El siguiente ejemplo muestra cómo configurar una colección de series de tiempo:
class Measurement include Mongoid::Document field :temperature, type: Integer field :timestamp, type: Time store_in collection_options: { time_series: { timeField: "timestamp", granularity: "minutes" }, expire_after: 604800 } end
Para obtener más información sobre las colecciones de series temporales, consulta la guía Colecciones de Series Temporales en el manual de MongoDB Server.
Colección con tamaño fijo
Las colecciones con tamaño fijo tienen un tamaño máximo o un recuento de documentos que les impide crecer más allá de un umbral definido. El siguiente ejemplo muestra cómo configurar una colección con tamaño fijo:
class Blog include Mongoid::Document store_in collection_options: { capped: true, size: 1024 } end
Para aprender más sobre las colecciones con tamaño fijo, consulta la guía Colecciones con tamaño fijo en el manual de MongoDB Server.
Intercalación predeterminada
Las intercalaciones son conjuntos de reglas para comparar cadenas, normalmente en un lenguaje natural en particular. El siguiente ejemplo muestra cómo especificar una intercalación por defecto para usar en una colección:
class Title include Mongoid::Document store_in collection_options: { collation: { locale: 'fr' } } end
Para obtener más información sobre las intercalaciones, consulta la guía de intercalación en el manual del servidor MongoDB Server.
Tarea Rake de gestión de colección
Para aplicar las opciones de colección que especifiques en tu aplicación Mongoid, debes crear explícitamente la colección correspondiente. Para hacerlo, utiliza la tarea db:mongoid:create_collections Rake ejecutando el siguiente comando en tu shell:
rake db:mongoid:create_collections
También puedes ejecutar el comando create_collection sobre un solo modelo en la consola de Rails, como se muestra en el siguiente ejemplo:
Model.create_collection