MongoDB: Como utilizar em um projeto Rails

MongoDB: Como utilizar em um projeto Rails

MongoDB é um SGBD orientado a documentos que se destaca pela alta escalabilidade, bom desempenho e flexibilidade na estrutura de dados.

Nesta publicação você aprenderá como instalar e utilizar ele em uma aplicação Ruby on Rails.

 

O que vamos criar

Criaremos um projeto Ruby on Rails que exibirá informações sobre alguns escritores e livros. Para cadastrar essas informações utilizaremos documentos em um  banco de dados MongoDB.

Isso será feito com o auxílio de uma gem muito popular chamada Mongoid.

 

Ferramentas

  • • Ruby 2.5
  • • Rails 5.2
  • • Mongoid 6.1

 

 

Instalação

Veja como instalar o mongoDB no ubuntu 18.04 (Bionic).
Instalação do MongoDB para outros Sistemas Operacionais.

 

1- Importe a chave pública que será utilizada pelo sistema de gerenciamento de pacotes

2- Crie um arquivo de lista para o MongoDB

3- Recarregue o banco de dados de pacotes locais

4- Instale a ultima versão do MongoDB

Pronto, agora você tem o MongoDB instalado em sua máquina!

 

 

Passo a Passo

 

Início

Nesta etapa você criará o projeto e fará algumas configurações iniciais.

1- Crie o projeto executando o comando

A opção –skip-active-record serve para evitar a inclusão do Active Record.

2- Adicione a gem Mongoid ao seu Gemfile

A gem Mongoid permite que o projeto se comunique com o MongoDB.

3- Agora, instale a gem executando o comando

4- Para gerar a configuração padrão execute

Este comando criará o arquivo config/mongoid.yml contendo as configurações de conexão com o MongoDB.

5- Agora execute o seguinte scaffold

O scaffold é um comando responsável por gerar o model, controller e views necessárias para realização de um crud.

 

Novo Documento

Faça um teste para saber se realmente é possível criar um novo documento no MongoDB

1- Inicie o serviço do MongoDB rodando

2- Levante sua aplicação com o comando

Através de seu navegador acesse o link http://localhost:3000/authors/new e crie um novo Escritor.

3- Abra o terminal e conecte-se ao MongoDB executando

3- Selecione o banco de dados que você irá utilizar

4- Faça uma pesquisa para ver os dados da collection Authors

O primeiro documento da aplicação foi criado!

 

Associações

Aqui você criará um CRUD dos livros, definindo que cada  livro será relacionado a um escritor através de uma associação referenciada.

1-  Execute o scaffold para os livros

2- No model app/models/book.rb, substitua a relação

por

Fizemos esta alteração para utilizar a associação referenciada, informando que o livro pertence a um autor.

3- Para definir que um escritor pode ser o autor de vários livros vá até o arquivo app/models/author.rb e adicione a seguinte instrução

4- No arquivo app/views/books/_form.html.erb localize o seguinte text_field

Substitua ele pelo seguinte código

5- Substitua o código de app/views/books/show.html.erb por

E o código de app/views/books/index.html.erb por

 

Adicionando livros

Agora você pode adicionar novos livros relacionados a um escritor.

Veja os livros adicionados acessando http://localhost:3000/books

 

Flexibilidade  

Como dito no começo desta publicação, a estrutura de dados do MongoDB é flexível.

Podemos, por exemplo, adicionar um novo field para salvar a nacionalidade dos próximos escritores a serem cadastrados.

1- Vá até o model app/models/author.rb e adicione o field nationality

2- Adicione o text_field da nacionalidade substituindo o arquivo app/views/authors/_form.html.erb por

3- Para imprimir a nacionalidade na exibição do autor altere o conteúdo de app/views/authors/show.html.erb para

E para exibir a nacionalidade na lista de autores substitua o conteúdo de app/views/author/index.html.erb por

4- Não se esqueça de permitir o parâmetro nationality no controller app/controllers/authors_controller.rb

5- Agora crie um novo autor informando sua nacionalidade

Perceba que apenas o novo autor possui o field nationality

Para conhecer mais sobre o Mongoid acesse sua documentação através deste link – Documentação do Mongoid

 

Conclusão

MongoDB é uma ótima opção para que você tenha um banco de dados escalável e de alta performance.

Por meio desta publicação foi possível demonstrar que sua integração não tem segredos e em poucos minutos sua aplicação já está fazendo uso desta tecnologia.



12 formas de vencer o bloqueio criativo e escrever textos memoráveis (e 6 dicas extras)

Não perca nenhum conteúdo

Receba nosso resumo semanal com os novos posts, cursos, talks e vagas \o/



 


Você é novo por aqui?

Primeira vez no OneBitCode? Curtiu esse conteúdo? O OneBitCode tem muito mais para você!

O OneBitCode traz conteúdos de qualidade e em português sobre programação com foco em Ruby on Rails e outras tecnologias como Angular, Ionic, React, desenvolvimento de Chatbots e etc.

Se você deseja aprender mais, de uma forma natural e dentro de uma comunidade ativa, visite nosso Facebook e nosso Twitter, veja os screencasts e talks no Youtube, alguns acontecimentos no Instagram, ouça os Podcasts e faça parte de nossa Newsletter.

Além disso, também estamos com alguns e-Books muito interessantes para quem deseja se aprimorar como programador e também como freelancer (os e-Books são gratuitos!):

Espero que curta nossos conteúdos e sempre que precisar de ajuda com os tutoriais, fala com a gente! Seja por Facebook ou e-mail, estamos aqui para você 🙂

Bem-vindo à família OneBitCode \o/

outubro 26, 2018

Deixe um comentário

avatar
  Subscribe  
Notify of
Feito com s2 por OneBitCode
%d blogueiros gostam disto: