Visão geral
Neste guia, você pode aprender sobre os recursos que são habilitados automaticamente quando você usa o Mongoid em um aplicação Ruby on Rails. Este guia também descreve a funcionalidade relacionada ao Rails que você pode habilitar em seu aplicação.
Configuração
Você pode configurar as opções específicas do Mongoid e outras opções específicas do ambiente Rails no arquivo principal do aplicação acessando config.mongoid
. O gerador mongoid:config
cria um inicializador no arquivo config/initializers/mongoid.rb
.
Observação
Quaisquer opções definidas em seu arquivo config/mongoid.yml
têm precedência sobre as opções definidas em outro lugar. Por esta razão, utilize o mongoid.yml
como o local padrão para a configuração Mongoide quando possível.
Para saber mais sobre todas as opções de configuração disponíveis, consulte os guias de Configuração do.
O código abaixo demonstra como criar um logger do Rails acessando config.mongoid
:
module MyApplication class Application < Rails::Application config.mongoid.logger = Logger.new(STDERR, :warn) end end
Para saber mais sobre as configurações de registro, consulte o guia Configuração de registro.
Pré-carregamento do modelo
Para configurar a herança de collection única, o Mongoid deve pré-carregar todos os modelos antes de cada solicitação no modo de desenvolvimento. Isso pode tornar seu aplicação lento, portanto, se você não estiver usando nenhuma herança, poderá desativar esse recurso.
O código a seguir demonstra como você pode desativar o pré-carregamento definindo o recurso preload_models
como false
:
config.mongoid.preload_models = false
Exceções
Semelhante ao Active Record, o Mongoid configura o Rails para converter automaticamente certas exceções para códigos de status HTTP. A seguinte lista fornece as conversões entre exceções Mongoid e códigos HTTP:
Mongoid::Errors::DocumentNotFound
: Convertido para404 Not Found
Mongoid::Errors::Validations
: Convertido para422 Unprocessable Content
Registro de tempo de execução
O Mongoid pode gerar o tempo gasto na execução de comandos do banco de dados para o evento de instrumentação do Rails process_action.action_controller
. O Mongoid obtém esses valores por meio do monitoramento de comandos do driver. Seu aplicação registra esse tempo com tempo de visualização, conforme mostrado na saída a seguir:
Completed 200 OK in 2739ms (Views: 12.6ms | MongoDB: 0.2ms)
Esse registro é configurado automaticamente em seu aplicação Rails.
Observação
Cálculo de tempo
O tempo indicado nas entradas de registro é o tempo que a implementação do MongoDB leva para executar as operações do MongoDB, além do tempo necessário para enviar comandos e receber resultados do MongoDB Server. Não inclui o tempo gasto pelo driver e pelo Mongoid para gerar as queries, tipos de conversão ou processar os resultados.
Tarefas do Rake
Você pode usar as seguintes tarefas de varredura para o Mongoid ao usar a estrutura do Rails:
db:create_indexes
: Lê todas as definições de índice dos modelos e tenta criá-las no banco de dadosdb:remove_indexes
: Remove índices para cada modelodb:drop
: Solta todas as coleções no banco de dados, exceto as coleções do sistemadb:purge
: Exclui todos os dados, incluindo índices, do banco de dadosdb:seed
: semeia o banco de dados a partir do arquivodb/seeds.rb
db:setup
: Cria índices e sementes do banco de dados
As seguintes tarefas de antro existem apenas para fins de dependência de estrutura e não executam nenhuma ação:
db:test:prepare
db:schema:load
db:create
db:migrate
Informações adicionais
Para saber como configurar um novo aplicação Rails que usa Mongoid, consulte o guia Início Rápido - Ruby on Rails.
Para saber como adicionar o Mongoid a um aplicação Rails existente, consulte a seção Aplicativo Rails do guia Adicionar Mongoid a um aplicativo existente.