16.4. Criando um CRUD com NodeJS e MongoDB: Criação do projeto NodeJS
Página 88 | Ouça em áudio
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.
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.
Próxima página do Ebook Gratuito: