Imagem do artigo Criando um CRUD com NodeJS e MongoDB: Implementação das funções para criar, ler, atualizar e deletar dados

16.8. Criando um CRUD com NodeJS e MongoDB: Implementação das funções para criar, ler, atualizar e deletar dados

Página 92 | Ouça em áudio

16.8. Criando um CRUD com NodeJS e MongoDB: Implementação das funções para criar, ler, atualizar e deletar dados

Para os desenvolvedores de software, a capacidade de criar, ler, atualizar e deletar dados (CRUD) é uma habilidade essencial. No contexto do nosso curso e-book sobre como criar APIs em NodeJS, vamos agora focar em como implementar essas operações usando NodeJS e MongoDB.

Configurando o Ambiente

Antes de começarmos, é importante garantir que você tenha o ambiente de desenvolvimento adequado. Você precisará do NodeJS e do MongoDB instalados em seu sistema. Além disso, vamos usar o Express, um framework para NodeJS, e o Mongoose, um ORM (Object Relational Mapping) para MongoDB.

Criando o Modelo de Dados

Primeiro, precisamos definir nosso modelo de dados. Vamos supor que estamos criando uma API para uma aplicação de blog. Portanto, nosso modelo de dados pode ser um 'Post', com propriedades como 'title', 'content' e 'author'. Usando o Mongoose, podemos definir esse modelo assim:

const mongoose = require('mongoose');
const Schema = mongoose.Schema;

const PostSchema = new Schema({
    title: String,
    content: String,
    author: String
});

module.exports = mongoose.model('Post', PostSchema);

Implementando as Operações CRUD

Criar (Create)

Vamos começar com a operação 'Create'. Usaremos a rota POST para isso. Aqui está um exemplo de como isso pode ser feito:

const express = require('express');
const router = express.Router();
const Post = require('../models/Post');

router.post('/', async (req, res) => {
    const post = new Post({
        title: req.body.title,
        content: req.body.content,
        author: req.body.author
    });

    try {
        const savedPost = await post.save();
        res.json(savedPost);
    } catch (err) {
        res.json({ message: err });
    }
});

Ler (Read)

Em seguida, vamos implementar a operação 'Read'. Usaremos a rota GET para isso. Aqui está um exemplo de como ler todos os posts e um post específico:

// Get All Posts
router.get('/', async (req, res) => {
    try {
        const posts = await Post.find();
        res.json(posts);
    } catch (err) {
        res.json({ message: err });
    }
});

// Get Specific Post
router.get('/:postId', async (req, res) => {
    try {
        const post = await Post.findById(req.params.postId);
        res.json(post);
    } catch (err) {
        res.json({ message: err });
    }
});

Atualizar (Update)

Agora, vamos implementar a operação 'Update'. Usaremos a rota PATCH para isso. Aqui está um exemplo de como atualizar um post específico:

router.patch('/:postId', async (req, res) => {
    try {
        const updatedPost = await Post.updateOne(
            { _id: req.params.postId },
            { $set: { title: req.body.title, content: req.body.content, author: req.body.author } }
        );
        res.json(updatedPost);
    } catch (err) {
        res.json({ message: err });
    }
});

Deletar (Delete)

Finalmente, vamos implementar a operação 'Delete'. Usaremos a rota DELETE para isso. Aqui está um exemplo de como deletar um post específico:

router.delete('/:postId', async (req, res) => {
    try {
        const removedPost = await Post.remove({ _id: req.params.postId });
        res.json(removedPost);
    } catch (err) {
        res.json({ message: err });
    }
});

Conclusão

Com isso, concluímos a implementação das operações CRUD usando NodeJS e MongoDB. A beleza do NodeJS é sua simplicidade e eficiência, e com a ajuda de pacotes como Express e Mongoose, podemos criar APIs poderosas e escaláveis. Lembre-se, a prática leva à perfeição, então continue praticando e experimentando.

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

No contexto do curso e-book apresentado no texto, qual é o objetivo das funções para criar, ler, atualizar e deletar dados em 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: Validação dos dados recebidos

Próxima página do Ebook Gratuito:

93Criando um CRUD com NodeJS e MongoDB: Validação dos dados recebidos

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