Tutorial Rails: Conectando Rails 4 ao MongoDB – Parte 1
Para quem não conhece o MongoDB, é um banco de dados NoSQL, ou seja, ele armazena documentos sem uma estrutura fixa no banco de dados, o que torna o desenvolvimento muito interessante com esta ferramenta.
Neste post vamos ensinar como criar um servidor Rails no Ubuntu conectado ao MongoDB.
Instalando o MongoDB
1 – Adicione a chave pública do MongoDB ao gerenciador de pacotes.
2 – Crie a lista de arquivos do MongoDB para baixar.
3 – Atualize o banco do gerenciador de pacotes.
4 – Instale os pacotes do MongoDB.
Para acessar o prompt interativo do MongoDB, basta digitar o comando ‘mongo‘.
MongoDB shell version: 2.4.9
connecting to: test
>
Para instalação em outras plataformas verifique este link (em inglês)
Criando o projeto Rails
Vamos criar um novo projeto no Rails.
cd TutorialMongo
Repare que a linha de comando incluiu o argumento –skip-active-record. Este argumento faz com que o projeto inicie sem o ActiveRecord do Rails que trabalha com bancos SQL, como vamos usar um banco NoSQL, não vamos precisar dele.
Para usar o MongoDB vamos modificar o Gemfile retirando o sqlite3 e adicionando o mongoid.
Remova estas linhas:
# Use sqlite3 as the database for Active Record gem 'sqlite3' |
Adicione estas linhas:
gem 'mongoid', git: 'git://github.com/mongoid/mongoid.git' gem 'bson_ext' |
Execute o comando para instalar os pacotes:
Assim o mongo será instalado diretamente do seu repositório git. Note também que instalamos o bson_ext, que é o protocolo de comunicação do MongoDB.
Agora vamos precisar de configurar o acesso ao banco de dados. O ActiveRecord é configurado no arquivo config/database.yml, porem o mongoid não usa este arquivo. Vamos gerar o arquivo de configuração do mongoid com o comando:
Repare que foi gerado um arquivo config/mongoid.yml que será onde serão feitas as configurações necessárias.
Inicialmente não há modificações necessárias de acesso ao banco, pois o MongoDB pode ser acessado localmente sem necessidade de autenticação. Porem se você usa Windows, a configuração básica pode não funcionar, então substitua o endereço do banco no arquivo config/mongoid.yml substituindo localhost para 127.0.0.1.
hosts: - 127.0.0.1:27017 |
Para testar se nossas configurações estão corretas, vamos criar uma nova classe:
E vamos iniciar nosso servidor:
rails s |
Agora temos o servidor comunicando com o banco de dados do MongoDB. É possível adicionar e remover registros normalmente.
Para ver os registros inseridos no banco de dados vamos executar os comandos:
MongoDB shell version: 2.4.9
connecting to: test
> use tutorial_mongo_development
switched to db tutorial_mongo_development
> db.users.find()
{ "_id" : ObjectId("53455c5b5361672ae4000000"), "name" : "Brayan", "age" : 25 }
{ "_id" : ObjectId("53455c685361672ae4010000"), "name" : "Ricardo", "age" : 23 }
>