MongoDB merupakan database open source berbasis dokumen (Document-Oriented Database), sebuah database yang menyimpan data Anda sebagai dokumen. Kebanyakan dokumen ini mirip seperti struktur JSON, yang disebut sebagai BSON.
Mongoose adalah sebuah framework JavaScript yang umumnya digunakan pada aplikasi Node.js dengan database MongoDB.
Pada artikel ini, saya menulis step by step membuat API dengan operasi Create, Read, Update, dan Delete pada database mongodb. Berikut tutorialnya :
Siapkan dahulu database MongoDB, lalu buat database baru, misal contohDB.
Buat folder project, misal folder crud, lalu install expressjs, mongoose, dan body-parser.
npm install express mongoose --save
Buat file app.js dengan isi code berikut
var express = require("express"); var app = express(); var bodyParser = require('body-parser'); //untuk menangkap post data // for parsing application/json app.use(bodyParser.json()); // for parsing application/xwww- app.use(bodyParser.urlencoded({ extended: true })); //form-urlencoded //load mongoose var mongoose = require('mongoose'); //hubungkan ke Mongodb mongoose.connect('mongodb://localhost/contohDB') //sesuaikan dengan database Anda .then(() => console.log('Berhasil terhubung dengan MongoDB')) .catch((err) => console.error(err)); var guru = require('./controller/guru'); //memanggil file di guru.js di controller/ app.use('/guru', guru); app.listen(8080,"192.168.0.108"); //sesuaikan dengan IP Anda
Buat folder controller, lalu buat file guru.js dengan isi code berikut
var express = require('express'); var router = express.Router(); var mongoose = require('mongoose'); var app = express(); var Guru = require('../models/guru.js'); //memanggil file guru.js di folder model/ //fungsi GET router.get('/', function(req, res, next){ Guru.find(function(err, guru){ if(err) return next(err); res.json(guru); }); }); //fungsi POST router.post('/', function(req, res, next){ var item = { nama: req.body.nama, //menangkap post data lokasi: req.body.lokasi, //menangkap post data biaya: req.body.biaya }; var data = new Guru(item); //inisiasi object baru data.save(); //simpan object baru res.send(item); }); module.exports = router;
Buat folder model, lalu buat file guru.js di dalamnya dengan code berikut
var mongoose = require('mongoose'); var GuruSchema = new mongoose.Schema({ nama: String, lokasi: String, biaya: Number }); module.exports = mongoose.model('Guru', GuruSchema);
Jalankan aplikasi, lalu coba lakukan post data menggunakan Postman
Referensi
http://mongoosejs.com/docs/guide.html
https://medium.com/@ocittwo/membuat-rest-api-dengan-nodejs-82a1349c6647
https://github.com/mschwarzmueller/nodejs-basics-tutorial/blob/master/11-mongoose/routes/index.js
https://www.tutorialspoint.com/expressjs/expressjs_database.htm