Menu Docs

Página inicial do DocsMongoid

Integração do Rails

Nesta página

  • Configuração
  • Pré-carregamento do modelo
  • Exceções
  • instrumentação de tempo de execução do controlador
  • Tarefas do Rake

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.

Você pode definir as opções de configuração do Mongoid em seu application.rb juntamente com outras opções específicas do ambiente Rails acessando config.mongoid. As opções definidas aqui substituirão aquelas definidas em seu config/mongoid.yml.

module MyApplication
class Application < Rails::Application
config.mongoid.logger = Logger.new(STDERR, :warn)
end
end

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

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

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.

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.0

  • db: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.rb

  • db: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.

←  ConfiguraçãoTutoriais →