MongoDB: Intro e Implementação

Área: Backend | Nível recomendado: Iniciante

circle-info

Desenvolva habilidades com o MongoDB, um banco de dados NoSQL líder, e aprenda a realizar o deploy de um banco de dados na nuvem usando o MongoDB Cloud Atlas. Esta etapa é essencial para preparar o ambiente para integração com aplicações hospedadas em plataformas de cloud, como o CodeSpaces.

Vídeo

Link direto: https://youtu.be/Csk1U5b-uuIarrow-up-right

Tópicos

  1. Introdução ao MongoDB:

    • Explanação sobre bancos de dados NoSQL e o ecossistema do MongoDB.

    • Instalação do MongoDB Compass e introdução às suas funcionalidades.

  2. Deploy no MongoDB Cloud Atlas:

    • Criação de uma conta no MongoDB Cloud Atlas.

    • Configuração do cluster MongoDB no Cloud Atlas.

    • Conexão do MongoDB Compass com o banco de dados no Cloud Atlas.

  3. CRUD com MongoDB:

    • Execução de operações CRUD utilizando o MongoDB Compass conectado ao Cloud Atlas.

    • Integração do MongoDB Cloud Atlas com o projeto backend Node.js.

Material de Apoio

Repositório no GitHub

PDF para Download

Miro

Exercícios de Fixação

circle-info

Use esses exercícios para reforçar o que acabou de aprender. Se errar, leia a explicação para entender melhor o conceito.

chevron-rightQual comando usamos para instalar o MongoDB Driver no Node.js?hashtag

A) npm install mongodb

B) npm install mongoose

C) npm install mongo

D) npm install mongodriver

chevron-rightResposta corretahashtag

Qual comando usamos para instalar o MongoDB Driver no Node.js?

Resposta Correta: A

Feedback: O comando npm install mongodb é usado para instalar o driver oficial do MongoDB para Node.js.


chevron-rightComplete o código para conectar ao MongoDB usando o MongoClient, inicializar o banco de dados e exibir uma mensagem de sucesso.hashtag
chevron-rightResposta corretahashtag

Complete o código para conectar ao MongoDB usando o MongoClient.

Resposta Correta:

Feedback: O método connect é usado para estabelecer a conexão com o banco de dados, e a mensagem Banco de dados conectado com sucesso! é exibida após a conexão ser bem-sucedida.


chevron-rightVerdadeiro ou Falso: O MongoDB é um banco de dados relacional.hashtag

A) Verdadeiro

B) Falso

chevron-rightResposta corretahashtag

Verdadeiro ou Falso: O MongoDB é um banco de dados relacional.

Resposta Correta: B

Feedback: O MongoDB é um banco de dados NoSQL, não relacional, que armazena dados em documentos JSON-like.


chevron-rightQual comando usamos para iniciar a aplicação com Nodemon?hashtag

A) npm start

B) npm run start

C) npm run dev

D) nodemon app.js

chevron-rightResposta corretahashtag

Qual comando usamos para iniciar a aplicação com Nodemon?

Resposta Correta: C

Feedback: O comando npm run dev é comumente usado para iniciar a aplicação com Nodemon, conforme configurado no package.json.


chevron-rightComplete o código para criar um endpoint que adicione um novo documento à collection no MongoDB.hashtag
chevron-rightResposta corretahashtag

Complete o código para criar um endpoint que adicione um novo documento à collection no MongoDB.

Resposta Correta:

Feedback: O método insertOne é usado para adicionar um novo documento à collection do MongoDB.

Exercícios de Validação

circle-info

Esses exercícios testarão sua compreensão prática. Revise o feedback para melhorar suas habilidades.

Desafio de Código

Crie um endpoint adicional na aplicação ExpressJS que atualize um documento existente na collection do MongoDB. Se o documento não existir, o endpoint deve responder com "Item não encontrado".

  • Implementar o novo endpoint no arquivo index.js.

chevron-rightResposta esperadahashtag

Feedback: Certifique-se de que o servidor está ouvindo na porta correta e que a rota /personagem/:id está devidamente configurada.

Revisão de Código

triangle-exclamation
chevron-rightResposta Corretahashtag

Erros:

  1. Conexão com o banco de dados MongoDB não é estabelecida.

  2. O ID do livro não é convertido para ObjectId ao buscar o documento.

Feedback: Certifique-se de que a conexão com o banco de dados MongoDB está estabelecida antes de acessar o banco de dados e a collection. Além disso, converta corretamente o ID do livro para ObjectId ao buscar o documento.

Projeto Prático

Implemente um CRUD completo para gerenciar uma entidade de "Livros" em uma biblioteca usando ExpressJS e MongoDB. Os livros devem ter as propriedades "título", "autor" e "ano de publicação". Crie endpoints para adicionar, listar, atualizar e deletar livros. Se o livro não for encontrado, o endpoint deve responder com "Livro não encontrado".

Tarefas

  • Configuração Inicial:

    • Inicialize um novo projeto NodeJS.

    • Instale o ExpressJS e o MongoDB Driver.

    • Configure o Nodemon para reiniciar o servidor automaticamente.

  • Conexão com o MongoDB:

    • Conecte-se ao MongoDB utilizando o MongoClient.

    • Inicialize o banco de dados e a collection "livros".

  • Implementação dos Endpoints:

    • Implemente um endpoint para adicionar um novo livro (POST /livros).

    • Implemente um endpoint para listar todos os livros (GET /livros).

    • Implemente um endpoint para obter um livro específico por ID (GET /livros/:id).

    • Implemente um endpoint para atualizar um livro por ID (PUT /livros/:id).

    • Implemente um endpoint para deletar um livro por ID (DELETE /livros/:id).

chevron-rightCódigo esperadohashtag

Feedback Detalhado

  • Verificação dos Endpoints: Certifique-se de testar cada rota (/livros, /livros/:id, /livros com POST, PUT e DELETE) acessando http://localhost:3000 e verificando as respostas.

  • Estrutura: A estrutura básica da aplicação deve seguir a mesma lógica apresentada na missão original.

  • Diferença Sutil: A inclusão da entidade "Livros" oferece um exercício prático de aplicação do conhecimento adquirido, sem introduzir novos conceitos.

Last updated