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/



 


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 também JavaScript.
Além disso, aqui sempre levamos à você conteúdos valiosos sobre a carreira de programação, dicas sobre currículos, portfólios, perfil profissional, soft skills, enfim, tudo o que você precisa saber para continuar evoluindo como Programador(a)!

Fique por dentro de todos os conteúdos o/

 

Nossas redes sociais:

📹 • https://youtube.com/Onebitcode [Live todas as terças-feiras às 19h)
💻 • pagan dating service
🙂 • sarah hyland dating
 📱  • https://onebitcode.com/gay-story-sites/
🐦 • gay jewish dating

 

Nossos cursos:

🥇 • Programador Full Stack Javascript em 8 Semanas
💎 • Curso Completo de Ruby
 ⚙  • Minicurso: API Rails 5 Completo
🐞 • Minicurso de Testes para Ruby on Rails com RSpec

 

Espero que curta nossos conteúdos e sempre que precisar de ajuda, fala com a gente!
E
stamos aqui para você 🙂

Bem-vindo à família OneBitCode o/

5 1 vote
Article Rating
janeiro 17, 2020
Subscribe
Notify of
guest
0 Comentários
Inline Feedbacks
View all comments

Feito com s2 por OneBitCode

0
Would love your thoughts, please comment.x
()
x