16.6. Criando um CRUD com NodeJS e MongoDB: Criação das rotas para o CRUD

Página 90

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.

Now answer the exercise about the content:

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

You are right! Congratulations, now go to the next page

You missed! Try again.

Next page of the Free Ebook:

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

Earn your Certificate for this Course for Free! by downloading the Cursa app and reading the ebook there. Available on Google Play or App Store!

Get it on Google Play Get it on App Store

+ 6.5 million
students

Free and Valid
Certificate with QR Code

48 thousand free
exercises

4.8/5 rating in
app stores

Free courses in
video, audio and text