🇮🇩
HTML, CSS, dan JS
  • Pengenalan
  • Roadmap
    • Frontend Developer
    • Backend Developer
    • Full Stack Developer
  • Pengenalan Teknologi Web
    • Internet
    • World Wide Web
    • Bagaimana WWW Bekerja
    • Evolusi Web
    • DNS Server
    • Domain dan Hosting
  • Pengelanan VCS
  • Pengenalan HTML
    • HTML Dasar
    • HTML Lanjutan
    • HTML5
    • Latihan
  • Pengenalan CSS
    • CSS Dasar
    • CSS Lanjutan
    • Responsif Web
    • Contoh Kuis (a)
    • Contoh Kuis (b)
    • Contoh Kuis (c)
    • Bootstrap
  • Pengenalan Hak Cipta
  • Pengenalan Javascript
    • Javascript Dasar
    • Javascript DOM
    • Javascript Object
    • Javascript Events
  • JS Web Storage API
    • Local Storage
    • Session Storage
    • Contoh
  • JSON
  • Web API
  • Dokumentasi
  • Pengenalan NodeJS
    • Node.js
    • ExpressJS
  • API Express dengan MySQL + Deploy
    • RESTful API (Read)
    • RESTful API (Create, Update, Delete)
    • Deploy NodeJS ke Heroku
  • Socket.io
  • API Express dengan MongoDB + Deploy
    • MongoDB
    • NodeJS API - Create
    • NodeJS API - Read
    • NodeJS API - Update
    • NodeJS API - Delete
    • NodeJS API - Auth
    • NodeJS API - Auth Lanjutan
    • Deploy Vercel
  • Vue.js
    • Vue
    • Vue Axios
    • Vue Axios Lanjutan
  • React Js
Powered by GitBook
On this page

Was this helpful?

  1. API Express dengan MongoDB + Deploy

NodeJS API - Update

Buka file routes/mahasiswa.js

Tambahkan router dengan method PUT pada routes/mahasiswa.js

// Update 
router.put('/:mahasiswaId', async(req, res) => {
    // tampung input mahasiswa 
    const data = {
        nama: req.body.nama,
        alamat: req.body.alamat
    }

    try {
        // update data 
        const mahasiswa = await Mahasiswa.updateOne({_id: req.params.mahasiswaId}, data)
        // response
        res.json(mahasiswa)
    } catch (error) {
        res.json({message: error})
    }
})

:mahasiswaId merupakan parameter untuk menampung data parameter yang dikirimkan dari POSTMAN / Web FrontEnd

req.body.nama dan req.body.alamat merupakan data yang dikirimkan dari Body POSTMAN / Web FrontEnd

req.params.mahasiswaId untuk mengakses value dari parameter :mahasiswaId

Mahasiswa.updateOne untuk memperbarui Document yang ada di Collection Mahasiswa berdasarkan filter _id

Berikut isi file mahasiswa.js setelah ditambahkan router PUT

mahasiswa.js
// (5) Buat router Mahasiswa
const express = require('express')
const router = express.Router() 
const Mahasiswa = require('../models/Mahasiswa')

// Create 
router.post('/', async(req, res) => {
    // tampung input mahasiswa 
    const mahasiswaPost = new Mahasiswa({
        nama: req.body.nama,
        alamat: req.body.alamat
    })

    try {
        // simpan data 
        const mahasiswa = await mahasiswaPost.save()
        // response
        res.json(mahasiswa)
    } catch (error) {
        res.json({message: error})
    }
})

// Read
router.get('/', async(req, res) => {
    try {
        const mahasiswa = await Mahasiswa.find()
        res.json(mahasiswa)
    } catch (error) {
        res.json({message: error})
    }
})


// Update 
router.put('/:mahasiswaId', async(req, res) => {
    // tampung input mahasiswa 
    const data = {
        nama: req.body.nama,
        alamat: req.body.alamat
    }

    try {
        // update data 
        const mahasiswa = await Mahasiswa.updateOne({_id: req.params.mahasiswaId}, data)
        // response
        res.json(mahasiswa)
    } catch (error) {
        res.json({message: error})
    }
})

module.exports = router

Tes API PUT Mahasiswa menggunakan POSTMAN, tambahkan value _id pada Endpoint URL mahasiswa

"modifiedCount" : 1 pada response API PUT menunjukkan bahwa data mahasiswa berhasil diupdate.

Tes API GET menggunakan POSTMAN untuk melihat perubahan data mahasiswa setelah dilakukan API PUT

Data mahasiswa dengan _id : 6382e3ce4fccb36549001e15 berubah menjadi nama : Arif dan alamat : Jl sudirman

PreviousNodeJS API - ReadNextNodeJS API - Delete

Last updated 2 years ago

Was this helpful?