🇮🇩
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 - Create

Berikut langkah-langkah membuat API Create menggunakan NodeJS, express dan MongoDB

PreviousMongoDBNextNodeJS API - Read

Last updated 2 years ago

Was this helpful?

Buat folder baru dengan nama nodejs-api

Lakukan inisialisasi awal project

npm init

Install package express, nodemon, mongoose, dotenv dan body-parser

npm install express nodemon mongoose dotenv body-parser

Keterangan package: express : framework nodejs, sangat powerfull dan banyak digunakan oleh developer nodemon : membantu dalam proses development dari mengemas aplikasi Node Anda, memantau sistem berkas, dan secara otomatis memulai ulang proses mongoose : penghubung ke database NoSQL mongodb body-parser : middleware (penengah) antara data dari form dengan NodeJS, agar NodeJS bisa baca data dari form

Ubah script package.json, hapus bagian "test", lalu tambahkan "dev": "nodemon app.js"

Bua file .env

.env
PORT = 3003
DB_CONNECTION = <Copy dari Connection String cloud mongodb>

Berikut contoh .env

.env
PORT = 3003
DB_CONNECTION = mongodb+srv://nurrachmat:KW1h9NdsUqqOOOOO@cluster0.dzprir3.mongodb.net/mdpdb?retryWrites=true&w=majority

/mdpdb adalah nama database yang sudah dibuat pada cloud mongoDB

Buat file dengan nama app.js

app.js
// (1) definisikan module, middleware
const express = require('express')
const app = express()
const mongoose = require('mongoose')
const bodyParser = require('body-parser')
require('dotenv/config')

// (6) middleware body-parser
// https://stackoverflow.com/questions/24330014/bodyparser-is-deprecated-express-4
app.use(bodyParser.urlencoded({
    extended: true
}));
app.use(bodyParser.json());

// (7) import routes
const mahasiswaRoutes = require('./routes/mahasiswa')

// (8) app.use (mendaftarkan middleware baru ke Express)
app.use('/mahasiswa', mahasiswaRoutes)

// (3) koneksi ke database mongodb
mongoose.connect(process.env.DB_CONNECTION, { useNewUrlParser: true, useUnifiedTopology: true })
let db = mongoose.connection

    // handle error
    db.on('error', console.error.bind(console, 'Error Establishing a Database Connection?'))
    // handle success
    db.once('open', () => {
        console.log('Database is connected')
    })

// (2) listen port, dan buat callback dengan output console.log
app.listen(process.env.PORT, () => {
    console.log(`Server running on ${process.env.PORT}`);
})

Buat Schema data Mahasiswa di models/Mahasiswa.js

Mahasiswa.js
// (4) Buat Schema Mahasiswa
const mongoose = require('mongoose')

const MahasiswaSchema = mongoose.Schema({
    // Buat Schema data
    nama: {
        type: String,
        required: true
    },
    alamat: {
        type: String,
        required: true
    },
    createdAt: {
        type: Date,
        default: Date.now
    }
})

module.exports = mongoose.model('Mahasiswa', MahasiswaSchema)

Buat routes mahasiswa

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})
    }
})

module.exports = router

Berikut struktur folder dari project nodejs-api

Jalankan npm run dev dari terminal

Tes dari POSTMAN

Lihat data di cloud mongodb

inisialisasi awal project