Delete MongoDB Document

Untuk delete, digunakan method findByIdAndDelete(), parameter yang dibutuhkan adalah id. Berikut codenya

exports.deleteTour = async (req, res)=> {
    try{
        await Tour.findByIdAndDelete(req.params.id);
        res.status(204).json({
            status: 'success',
            data: null
        });
    }catch(err){
        res.status(400).json({
            status: 'fail',
            message: 'Delete fail'
        });        
    }
}

Buka aplikasi Postman, pilih method Delete, masukan URL 127.0.0.1:3000/api/v1/tours/5fbe243f82fa8b5cb484c78b (perhatian, masukan ID sesuai data yang Anda miliki). Lalu tekan Send.

Bila berhasil, response body akan kosong, status code adalah 204.

Berikut isi lengkap tourController.js

const Tour = require('./../models/tourModel');

exports.getAllTours = async (req, res) => {
    try{
        const tours = await Tour.find();
        res.status(200).json({
            status: 'success',
            results: tours.length ,
            data: {
                tours: tours
            }
        });
    }catch (err){
        res.status(400).json({
            status: 'fail',
            message: 'Not Found'
        });
    }
}

exports.getTours = async (req, res) => {
    try{
        const tour = await Tour.findById(req.params.id);
        res.status(200).json({
            status: 'success',
            data: {
                tour: tour
            }
        });

    }catch(err){
        res.status(400).json({
            status: 'fail',
            message: 'No Data Found'
        });

    }

}

exports.createTour = async (req, res) => {
    try{
        const newTour = await Tour.create(req.body);
        res.status(201).json({
            status: 'success',
            data: {
                tour: newTour
            }
        });
    } catch (err){
        res.status(400).json({
            status: 'fail',
            message: 'Error insert data'
        });
    }
}

exports.updateTour = async (req, res)=> {
    try{
        const tour = await Tour.findByIdAndUpdate(req.params.id, req.body, {
            new: true, runValidators: true
        });
        res.status(201).json({
            status: 'success',
            data: {
                tour: tour
            }
        });
    }catch(err){
        res.status(400).json({
            status: 'fail',
            message: 'error update'
        });
    }
}

exports.deleteTour = async (req, res)=> {
    try{
        await Tour.findByIdAndDelete(req.params.id);
        res.status(204).json({
            status: 'success',
            data: null
        });
    }catch(err){
        res.status(400).json({
            status: 'fail',
            message: 'Delete fail'
        });        
    }
}

Sampai disini kita sudah mempelajari operasi CRUD document mongoDB. Semoga tutorial ini bermanfaat.

Sharing is caring:

Leave a Comment