Este capítulo é dedicado a uma das partes mais importantes do desenvolvimento de APIs: a criação de um CRUD (Create, Read, Update, Delete) com NodeJS e MongoDB. Iremos criar as rotas para as operações do CRUD e aprenderemos como interagir com o banco de dados MongoDB.

Primeiro, vamos entender o que é CRUD. CRUD é um acrônimo para Create (Criação), Read (Leitura), Update (Atualização) e Delete (Exclusão). Estas são as quatro operações básicas que um sistema deve ter para gerenciar dados. Em nossa API, vamos criar rotas para executar essas operações em nosso banco de dados MongoDB.

Para começar, precisamos de um ambiente de desenvolvimento NodeJS configurado e uma instância do MongoDB rodando. Se você ainda não tem isso configurado, consulte os capítulos anteriores deste e-book.

1. Configurando o Express e o Mongoose

Primeiro, vamos configurar o Express, que é um framework para NodeJS que nos ajuda a gerenciar as rotas e requisições HTTP. Além disso, vamos usar o Mongoose, que é uma biblioteca do NodeJS para MongoDB que nos permite trabalhar com o banco de dados de forma mais fácil e segura.

Para instalar essas dependências, execute o seguinte comando no terminal:


npm install express mongoose

Depois de instalar essas dependências, vamos configurá-las em nosso arquivo principal do NodeJS. Vamos criar uma instância do express e conectar ao MongoDB usando o Mongoose.


const express = require('express');
const mongoose = require('mongoose');

const app = express();

mongoose.connect('mongodb://localhost:27017/myapp', {useNewUrlParser: true, useUnifiedTopology: true});

2. Criando o modelo do MongoDB

Antes de criar as rotas, precisamos definir o modelo de dados que vamos usar no MongoDB. Para isso, vamos usar o Mongoose para criar um esquema de dados.


const UserSchema = new mongoose.Schema({
  name: String,
  email: String,
  password: String
});

const User = mongoose.model('User', UserSchema);

3. Criando as rotas para o CRUD

Agora que temos o modelo de dados, podemos criar as rotas para as operações do CRUD. Vamos criar uma rota para cada operação: criar, ler, atualizar e excluir.


app.post('/users', async (req, res) => {
  const user = new User(req.body);
  await user.save();
  res.send(user);
});

app.get('/users', async (req, res) => {
  const users = await User.find();
  res.send(users);
});

app.get('/users/:id', async (req, res) => {
  const user = await User.findById(req.params.id);
  res.send(user);
});

app.put('/users/:id', async (req, res) => {
  const user = await User.findByIdAndUpdate(req.params.id, req.body);
  res.send(user);
});

app.delete('/users/:id', async (req, res) => {
  await User.findByIdAndDelete(req.params.id);
  res.send('User deleted');
});

Essas rotas permitem-nos criar, ler, atualizar e excluir usuários em nosso banco de dados MongoDB. Note que estamos usando operações assíncronas (async/await) para lidar com as operações do banco de dados, pois elas podem levar algum tempo para serem concluídas.

4. Testando as rotas

Para testar as rotas, podemos usar uma ferramenta como Postman ou Insomnia. Basta fazer uma requisição para a rota e método HTTP correspondente e verificar se a operação foi bem-sucedida.

Com isso, concluímos a criação de um CRUD com NodeJS e MongoDB. Este é um passo fundamental para a criação de APIs, pois nos permite gerenciar dados de forma eficiente e segura. Continue acompanhando os próximos capítulos para aprender mais sobre o desenvolvimento de APIs com NodeJS.

Agora responda o exercício sobre o conteúdo:

O que é CRUD no contexto de desenvolvimento de APIs com NodeJS e MongoDB?

Você acertou! Parabéns, agora siga para a próxima página

Você errou! Tente novamente.

Imagem do artigo Criando um CRUD com NodeJS e MongoDB: Criação dos controladores para cada operação do CRUD

Próxima página do Ebook Gratuito:

91Criando um CRUD com NodeJS e MongoDB: Criação dos controladores para cada operação do CRUD

4 minutos

Ganhe seu Certificado deste Curso Gratuitamente! ao baixar o aplicativo Cursa e ler o ebook por lá. Disponível na Google Play ou App Store!

Disponível no Google Play Disponível no App Store

+ de 6,5 milhões
de alunos

Certificado Gratuito e
Válido em todo o Brasil

48 mil exercícios
gratuitos

4,8/5 classificação
nas lojas de apps

Cursos gratuitos em
vídeo, áudio e texto