Integração do Rails
Nesta página
O Mongoid se integra perfeitamente aos aplicativos Ruby on Rails. Esta página descreve os recursos que são habilitados automaticamente no contexto de um aplicativo Rails e as funcionalidades relacionadas ao Rails que podem ser habilitadas manualmente.
Configuração
Você pode definir as opções de configuração do Mongoid em seu application.rb
junto com outras opções específicas do ambiente Rails acessando config.mongoid. O gerador mongoid:config
criará um inicializador no config/initializers/mongoid.rb
que também pode ser utilizado para configurar o Mongoid. Observe, porém, que as opções definidas em seu config/mongoid.yml
terão precedência sobre as opções definidas em outro lugar; é recomendável que, sempre que possível, você use mongoid.yml
como o local padrão para a configuração do Mongoid.
module MyApplication class Application < Rails::Application config.mongoid.logger = Logger.new(STDERR, :warn) end end
Pré-carregamento do modelo
Para configurar adequadamente a herança de coleção única, o Mongoid precisa pré-carregar todos os modelos antes de cada solicitação no modo de desenvolvimento. Isso pode ficar lento, portanto, se você não estiver usando nenhuma herança, é recomendável desativar esse recurso.
config.mongoid.preload_models = false
Exceções
Da mesma forma que o ActiveRecord, o Mongoid configura o Rails para converter automaticamente certas exceções em códigos de status HTTP conhecidos, da seguinte forma:
Mongoid::Errors::DocumentNotFound : 404 Mongoid::Errors::Validations : 422
instrumentação de tempo de execução do controlador
O Mongoid fornece o tempo gasto na execução de comandos do MongoDB (obtido por meio de uma assinatura de monitoramento de comandos de driver) para o evento de instrumentação do Rails process_action.action_controller
. Este tempo é registrado junto com o tempo de visualização da seguinte forma:
Completed 200 OK in 2739ms (Views: 12.6ms | MongoDB: 0.2ms)
Esse registro é configurado automaticamente.
Observação: o tempo indicado é o tempo gasto pelo cluster MongoDB para executar as operações do MongoDB, mais o tempo necessário para enviar comandos e receber resultados do MongoDB pela rede. Ele não inclui o tempo gasto pelo driver e pelo Mongoid para gerar as queries, converter o tipo e processar os resultados.
Tarefas do Rake
O Mongoid fornece as seguintes tarefas de rascunho quando usado em um ambiente Rails:
db:create
: existe apenas para fins de dependência, na verdade não faz nada.db:create_indexes
: Lê todas as definições de índice dos modelos e tenta criá-las no reconhecimento de data center.db:remove_indexes
: lê todas as definições de índice secundário dos modelos.db:drop
: Descarta todas as collection no reconhecimento de data center, com exceção das collection do sistema.db:migrate
: existe apenas para fins de dependência, na verdade não faz nada.db:purge
: Exclui todos os dados, incluindo índices, do reconhecimento de data center. Desde a versão 3.1.0db:schema:load
: existe apenas para fins de dependência da estrutura, na verdade não faz nada.db:seed
: semeia o banco de dados a partir de db/seeds.rbdb:setup
: Cria índices e semeia o reconhecimento de data center.db:test:prepare
: existe apenas para fins de dependência da estrutura, na verdade não faz nada.