Tutorial Rails: Conectando Rails 4 ao MongoDB – Parte 1

On 9 de abril de 2014 by Brayan Neves

xCzYRlR

 

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.

$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10

2 – Crie a lista de arquivos do MongoDB para baixar.

$ echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list

3 – Atualize o banco do gerenciador de pacotes.

$ sudo apt-get update

4 – Instale os pacotes do MongoDB.

$ sudo apt-get install mongodb-org

Para acessar o prompt interativo do MongoDB, basta digitar o comando ‘mongo‘.

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

$ rails new TutorialMongo --skip-active-record
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:

$ bundle install

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:

$ rails g mongoid:config

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:

$ rails g scaffold User name:string age:integer

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:

$ mongo
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 }
>

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *