CRUD dengan ExpressJS & Mongoose Part 3 : Models dan Controllers

CRUD dengan ExpressJS & Mongoose Part 3 : Models dan Controllers

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 SelanjutnyaCRUD Dengan ExpressJS & Mongoose Part 4 : Routes

LihatTutupKomentar