membuat api crud di nodejs dan mongodb

Langkah pertama harus install nodejs dulu, bisa download di<a href='https://nodejs.org/en/'>https://nodejs.org/en/</a> Setelah itu download mongodb di <a href='mongodb.org'>mongodb.org</a> Setelah download kita buka CMD atau terminal. setelah itu kita install express-generator dengan cara npm install -g express-generator abis itu kita ketik express administrasi masuk ke directory administrasi cd administrasi buka package.json masukan

{
  "name": "administrasi",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "node ./bin/www"
  },
  "dependencies": {
    "body-parser": "~1.13.2",
    "cookie-parser": "~1.3.5",
    "express-session":"*",
    "debug": "~2.2.0",
    "express": "~4.13.1",
    "ejs": "*",,
    "mongoose": "*",
    "morgan": "~1.6.1",
    "serve-favicon": "~2.3.0"
  }
}

setelah itu ketik npm install setelah selesai install package terus buka app.js dan ganti

app.set('view engine', 'jade');

dengan

app.set('view engine', 'ejs');

abis itu bikin folder model dan bikin file api.js di dalam folder model tadi dan masukan kode ini

var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/test');
var db = mongoose.connection;
db.on('error', function (err) {
  console.log('connection error', err);
});
db.once('open', function () {
  console.log('connected.');
});
var Schema = mongoose.Schema;
var PegawaiSchema = new Schema({
      nama: String,
      no_telepon: String,
      alamat: String,
    });

var Pegawai = mongoose.model('pegawai', PegawaiSchema)

module.exports = {
  Pegawai: Pegawai
}

setelah itu bikin file api.js di folder routes dan isikan kode ini ke api.js

var express = require('express');
var router = express.Router();
var models = require('../model/api');

router.get('/', function(req, res, next){
    return res.send('Api Sistem absensi pegawai');
})
// Pegawai ambil data
router.get('/pegawai', function(req, res, next){
  models.Pegawai.find({}, function(err, data){
    if(err) res.json({'message':'Not Found'})
    else res.json(data);
  })
})
// Pegawai insert data
router.post('/pegawai', function(req,res,next){
  var tambah = new models.Pegawai({
    nama: req.body.nama,
    no_telepon: req.body.no_telepon,
    alamat: req.body.alamat
  });
  tambah.save(function(err,data){
    if(err) res.json({'message':'Failed to insert pegawai'})
    else res.json({'message':'Succes to insert pegawai'});
  })
})
// Pegawai update data
router.put('/pegawai/:id', function(req, res, next){
  var data = {
    nama: req.body.nama,
    no_telepon: req.body.no_telepon,
    alamat: req.body.alamat
  }
  models.Pegawai.findOneAndUpdate({'_id':req.params.id},data,function(err, data){
    if(err) res.json({'message':'Failed to update pegawai'})
    else res.json({'message':'Succes to update pegawai'});
  })
})
// Pegawai hapus data
router.delete('/pegawai/:id', function(req, res, next){
  models.Pegawai.remove({_id:req.params.id},function(err, data){
    if(err) res.json({'message':'Failed to remove pegawai'})
    else res.json({'message':'succes to remove pegawai'});
  })
})

module.exports = router;

setelah itu masuk ke file app.js dan masukan kode ini di atas

var api = require('./routes/api');
// di atas code
var routes = require('./routes/index');

dan masukan code ini di atas

app.use('/api', api);
// di atas code
app.use('/users', users);

Apa bila ada salah mohon di koreksi. saya juga masih belajar tentang nodejs :D

avatar ardyhim
@ardyhim

289 Kontribusi 175 Poin

Dipost 8 tahun yang lalu

12 Jawaban:

beeh.. lagi pengen belajar node nih, jejak duluu, thanks gan

avatar paulpogba
@paulpogba

10 Kontribusi 17 Poin

Dipost 8 tahun yang lalu

masih belajar dan belajar :D

avatar msurya03
@msurya03

0 Kontribusi 0 Poin

Dipost 8 tahun yang lalu

iya gan, kita sama2 belajar :D nanti kalau applikasi sederha saya udah jadi, saya share SC complit nya

avatar ardyhim
@ardyhim

289 Kontribusi 175 Poin

Dipost 8 tahun yang lalu

ninggalin jejak dulu ya kak suatu saat akan berguna

avatar cleptoon
@cleptoon

0 Kontribusi 0 Poin

Dipost 8 tahun yang lalu

Bang saya mau tanya cara jalanin program nya di mana bang

avatar dhohoney
@dhohoney

0 Kontribusi 0 Poin

Dipost 8 tahun yang lalu

jalanin ketik npm start

avatar ardyhim
@ardyhim

289 Kontribusi 175 Poin

Dipost 8 tahun yang lalu

kalau misalkan modelnya bukan pegawai saja bagaimana?

avatar goensa51
@goensa51

4 Kontribusi 0 Poin

Dipost 8 tahun yang lalu

ganti saja yang namanya pegawai sama nama yg km butuhkan

var Schema = mongoose.Schema;
var UserSchema = new Schema({
      nama: String,
      no_telepon: String,
      alamat: String,
    });

var User = mongoose.model('user', UserSchema)

module.exports = {
  User: User
}

pokok nya di setiap file yg namanya pegawai ganti sama yg km ganti di bagian UserSchema

avatar ardyhim
@ardyhim

289 Kontribusi 175 Poin

Dipost 8 tahun yang lalu

maaf itu dependenciesnya kurang, untuk mongoosenya

avatar goensa51
@goensa51

4 Kontribusi 0 Poin

Dipost 8 tahun yang lalu

untuk seting mongoosenya saya masih bingung, yang databasenya yang mana, yang tablenya yang mana

avatar goensa51
@goensa51

4 Kontribusi 0 Poin

Dipost 8 tahun yang lalu

sebelumnya maaf banyak pertanyaan hehe, kan untuk viewnya ditutorialnya diganti dari jade jadi ejs itu untuk apa ya? nah pas saya start malah error dan file veiwsnya masih berekstensi jade

avatar goensa51
@goensa51

4 Kontribusi 0 Poin

Dipost 8 tahun yang lalu

untuk views pakai nya index.ejs ejs sendiri sama seperti html biasa, hanya ada berapa code yang kusus buat template ejs

avatar ardyhim
@ardyhim

289 Kontribusi 175 Poin

Dipost 8 tahun yang lalu

Login untuk ikut Jawaban