Membuat Models
Pada tutoria sebelumnya kita sudah menghubungkan NodeJS dengan MongoDB menggunakan modul mongoose. Selanjutnya kita akan membuat folder models untuk schema database MongoDB.Baca Sebelumnya - CRUD Dengan ExpressJS & Mongoose Part 2 : Koneksi Database
C:\Users\RSAM>cd Documents/nodejs_tutorial/express/crud_pegawai
C:\Users\RSAM\Documents\nodejs_tutorial\express\crud_pegawai>mkdir models
Pada folder models kita akan buat 2 buah files yaitu Kecamatan.js dan Pegawai.js. Kedua file tersebut akan menciptakan sebuah scheme MongoDB yang bias dipanggil pada modul lain.
Kecamatan.js
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var kecamatanSchema = new Schema(
{
nama: {type: String, require: true}
}
);
module.exports = mongoose.model('kecamatan', kecamatanSchema);
Pegawai.js
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var pegawaiSchema = new Schema(
{
nama: { type: String, required: true },
email: { type: String, required: true },
umur: { type: String, required: true },
id_kec: { type: Schema.Types.ObjectId, ref: 'kecamatan', required: true }
}
);
module.exports = mongoose.model('pegawai', pegawaiSchema);
Membuat Controllers
Folder models sudah kita buat, selanjutnya adalah folder controllers, folder ini akan kita gunakan untuk mengelompokan file yang akan melakukan control terhadap berbagai bentuk pengolahan data.C:\Users\RSAM>cd Documents/nodejs_tutorial/express/crud_pegawai
C:\Users\RSAM\Documents\nodejs_tutorial\express\crud_pegawai>mkdir controllers
Setelah kita membuat folder controllers selanjutnya adalah kita akan membuat 2 buah files yaitu KecamatanController.js dan PegawaiController.js.
KecamatanController.js
var mongoose = require('mongoose');
var Kecamatan = require('../models/Kecamatan');
var kecController = {};
kecController.find = function(err, res){
var kecamatan = new Kecamatan(req.body);
kecamatan.find({}, function(err, kec){
console.log(kec);
res.render('pegawai', {kecamatan: kec, title: 'crud kecamatan'});
}).select('_id');
}
kecController.save = function(req, res){
var kecamatan = new Kecamatan(req.body);
kecamatan.save(function(err){
if(err){
console.log(err);
res.render('kecamatan');
}else{
console.log('save sukses');
res.redirect('../');
}
})
}
module.exports = kecController;
PegawaiController.js
var mongoose = require('mongoose');
var Pegawai = require('../models/Pegawai');
var pegawaiController = {};
pegawaiController.save = function(req, res){
var pegawai = new Pegawai(req.body);
pegawai.save(function(err){
if(err){
console.log(err);
res.render('index');
}else{
console.log('save sukses');
res.redirect('../');
}
});
};
module.exports = pegawaiController;
Baca Selanjutnya - CRUD Dengan ExpressJS & Mongoose Part 4 : Routes
