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

Página 88

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:

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.

Now answer the exercise about the content:

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

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

You missed! Try again.

Next page of the Free Ebook:

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

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