Capa do Ebook gratuito Como criar APIs em NodeJS do básico ao avançado

Como criar APIs em NodeJS do básico ao avançado

Novo curso

149 páginas

Criando um CRUD com NodeJS e MongoDB: Criação do projeto NodeJS

Capítulo 88

Tempo estimado de leitura: 5 minutos

Audio Icon

Ouça em áudio

0:00 / 0:00

Uma das principais características que torna o NodeJS uma excelente escolha para o desenvolvimento de APIs é a sua capacidade de lidar com operações de I/O de maneira eficiente. Neste capítulo, vamos discutir como criar um CRUD (Create, Read, Update, Delete) com NodeJS e MongoDB. Vamos começar com a criação do projeto NodeJS.

Criação do Projeto NodeJS

Para começar, você precisa ter o NodeJS e o NPM (Node Package Manager) instalados em seu sistema. Você pode baixá-los e instalá-los a partir do site oficial do NodeJS. Uma vez instalado, você pode verificar a instalação executando os seguintes comandos no seu terminal:

node -v
npm -v

Se ambos os comandos retornarem uma versão, isso significa que a instalação foi bem-sucedida. Agora, vamos criar um novo projeto NodeJS. Para isso, crie um novo diretório para o seu projeto e navegue até ele usando o terminal. Em seguida, inicialize um novo projeto NodeJS com o seguinte comando:

npm init -y

Isso criará um novo arquivo 'package.json' no diretório do seu projeto. Este arquivo é usado para gerenciar as dependências do seu projeto.

Instalação de Dependências

Para este projeto, precisaremos de algumas dependências. A primeira é o Express, um framework NodeJS que facilita a criação de APIs. Para instalá-lo, execute o seguinte comando:

Continue em nosso aplicativo

Você poderá ouvir o audiobook com a tela desligada, ganhar gratuitamente o certificado deste curso e ainda ter acesso a outros 5.000 cursos online gratuitos.

ou continue lendo abaixo...
Download App

Baixar o aplicativo

npm install express

Em seguida, vamos precisar do Mongoose, um ORM (Object-Relational Mapping) que facilita a interação com o MongoDB. Para instalá-lo, execute o seguinte comando:

npm install mongoose

Criação do Servidor Express

Depois de instalar as dependências, vamos criar nosso servidor Express. Crie um novo arquivo chamado 'server.js' e adicione o seguinte código:

const express = require('express');
const app = express();
const port = 3000;

app.listen(port, () => {
  console.log(`Server is running on port ${port}`);
});

Este é um servidor Express básico que escuta na porta 3000. Você pode iniciar o servidor com o seguinte comando:

node server.js

Criação do Modelo Mongoose

Antes de podermos interagir com o MongoDB, precisamos definir um modelo Mongoose. Este modelo representa a estrutura dos nossos dados. Para este exemplo, vamos criar um modelo para um 'User'. Crie um novo arquivo chamado 'User.js' e adicione o seguinte código:

const mongoose = require('mongoose');

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

module.exports = mongoose.model('User', UserSchema);

Este é um modelo básico que define um 'User' com um nome, email e senha.

Conectando ao MongoDB

Antes de podermos usar o nosso modelo, precisamos conectar ao MongoDB. Adicione o seguinte código ao 'server.js':

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

Isso vai conectar ao MongoDB que está rodando localmente na porta 27017. Se a conexão for bem-sucedida, você poderá começar a usar o seu modelo para criar, ler, atualizar e deletar usuários no MongoDB.

Criando Rotas CRUD

O próximo passo é criar as rotas CRUD. Cada rota será responsável por uma operação específica. Por exemplo, a rota 'POST /users' será usada para criar um novo usuário, enquanto a rota 'GET /users/:id' será usada para ler um usuário específico. Adicione as seguintes rotas ao 'server.js':

const User = require('./User');

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({ message: 'User deleted' });
});

Com estas rotas, você tem um CRUD completo com NodeJS e MongoDB. Agora você pode criar, ler, atualizar e deletar usuários usando a sua API.

Em resumo, criar um CRUD com NodeJS e MongoDB é um processo simples e direto. Com o NodeJS, você pode criar APIs eficientes e escaláveis, enquanto o MongoDB permite que você armazene e recupere dados de maneira eficiente. Combinando os dois, você pode criar APIs poderosas que podem lidar com grandes volumes de dados e tráfego.

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

Qual é o processo para criar um CRUD com NodeJS e MongoDB?

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

Você errou! Tente novamente.

A opção 1 está correta porque, além de criar o servidor Express e definir o modelo Mongoose, é essencial conectar ao MongoDB para interagir com o banco de dados. Apenas a opção 1 inclui todos esses passos necessários.

Próximo capitúlo

Criando um CRUD com NodeJS e MongoDB: Conexão com o banco de dados MongoDB

Arrow Right Icon
Baixe o app para ganhar Certificação grátis e ouvir os cursos em background, mesmo com a tela desligada.