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

Página 92

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.

Now answer the exercise about the content:

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?

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

You missed! Try again.

Next page of the Free Ebook:

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

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