Overview
En esta guía, puedes aprender acerca de las funcionalidades que se activan automáticamente al usar Mongoid en una aplicación Ruby on Rails. Esta guía también describe la funcionalidad relacionada con Rails que puedes habilitar en tu aplicación.
Configuración
Puede configurar opciones específicas de Mongoid y otras opciones específicas del entorno Rails en el archivo principal de su aplicación accediendo a
config.mongoid. El generador mongoid:config crea un inicializador en el archivo config/initializers/mongoid.rb.
Nota
Cualquier opción establecida en tu archivo config/mongoid.yml tiene prioridad sobre las opciones configuradas en otros lugares. Por esta razón, utiliza mongoid.yml como ubicación por defecto para la configuración de Mongoid siempre que sea posible.
Para obtener más información sobre todas las opciones de configuración disponibles, consulte la Conéctate a las guías de MongoDB.
El siguiente código demuestra cómo crear un registrador Rails accediendo a config.mongoid:
module MyApplication class Application < Rails::Application config.mongoid.logger = Logger.new(STDERR, :warn) end end
Para obtener más información sobre la configuración del registro, consulte la Guía de configuración del registro.
Precarga del modelo
Para configurar la herencia de una sola colección, Mongoid debe precargar todos los modelos antes de cada solicitud en modo de desarrollo. Esto puede ralentizar tu aplicación, así que si no estás utilizando ninguna herencia, puedes desactivar esta funcionalidad.
El siguiente código demuestra cómo puedes desactivar la precarga configurando la funcionalidad preload_models en false:
config.mongoid.preload_models = false
Excepciones
Al igual que Active Record, Mongoid configura Rails para convertir automáticamente ciertas excepciones en códigos de estado HTTP. La siguiente lista muestra las conversiones entre excepciones de Mongoid y códigos HTTP:
Mongoid::Errors::DocumentNotFoundConvertido a404 Not FoundMongoid::Errors::ValidationsConvertido a422 Unprocessable Content
Registro del tiempo de ejecución
Mongoid puede generar el tiempo empleado en ejecutar comandos de base de datos en el evento de instrumentación de Rails process_action.action_controller. Mongoid obtiene estos valores mediante la monitorización de comandos del controlador. La aplicación registra este tiempo con el tiempo de visualización, como se muestra en la siguiente salida:
Completed 200 OK in 2739ms (Views: 12.6ms | MongoDB: 0.2ms)
Este registro se configura automáticamente en tu aplicación Rails.
Nota
Cálculo de tiempo
La hora indicada en las entradas de registro es el tiempo que requiere la implementación de MongoDB para ejecutar las operaciones de MongoDB, además del tiempo necesario para enviar comandos y recibir resultados del MongoDB Server. No incluye el tiempo que el controlador y Mongoid tardan en generar las consultas, convertir los tipos o procesar los resultados de otra forma.
Tareas de Rake
Puedes usar las siguientes tareas rake de Mongoid cuando utilices el marco Rails:
db:create_indexesLee todas las definiciones de índices de los modelos e intenta crearlas en la base de datosdb:remove_indexes: Remueve los índices para cada modelodb:dropDescarta todas las colecciones de la base de datos excepto las colecciones del sistemadb:purge: Elimina todos los datos, incluidos los índices, de la base de datosdb:seedSiembra la base de datos desde el archivodb/seeds.rbdb:setup:Crea índices y siembra la base de datos
Las siguientes tareas rake existen únicamente por motivos de dependencia del framework y no realizan ninguna acción:
db:test:preparedb:schema:loaddb:createdb:migrate
Información Adicional
Para aprender cómo configurar una nueva aplicación de Rails que use Mongoid, consulta la guía Integrar Mongoid con Ruby on Rails.
Para aprender cómo añadir Mongoid a una aplicación Rails existente, consulta la sección Aplicación Rails de la guía Añadir Mongoid a una aplicación existente.