Crud mongodb -->

Crud mongodb

Sorayakit
13 December 2019

Crud adalah kepanjangan dari create, read, update dan delete. Crud adalah metode membuat dokumen, membaca, update dan delete sebuah dokumen.
Crud Mongodb di ulasan ini adalah bagaimana kita bisa mengelola file database Mongodb. Kita akan membuat sebuah file database, membaca kemudian kita coba untuk update dan delete.
Sebelum memulai crud pastikan kita sudah melakukan instalasi Mongodb.


Berikut contoh script yang saya gunakan:

 

var express = require('express');
var router = express.Router();
var Daftarsensor = require('../models/daftarsensor'); // buat sendiri
var Sensor = require('../models/sensor'); // buat sendiri
var mongoose= require('mongoose');

mongoose.connect('127.0.0.1:27017/contoh_crud');

router.get('/indexdaftarsensor', isLoggedIn, function (req, res, next) {
Sensor.find( function (err, results) {

        if (err) {
            return res.write('Error!');
        }

          res.render('iot/indexdaftarsensor', {
            pilihsensor:results,
            halo: req.user

                });
        });
});

// Create daftarsensor via ajax
router.post('/daftarsensor', isLoggedIn, function (req, res, next) {

var dariform = req.body   // Menerima data dari kiriman ajax
var daftarsensor = new Daftarsensor();

daftarsensor.namadaftarsensor = dariform.namadaftarsensor
daftarsensor.user = req.user //object user auto saat login
daftarsensor.namaiosensor = dariform.namaiosensor
daftarsensor.iddigitalinout = dariform.iddigitalinout
daftarsensor.idlogsensor = dariform.idlogsensor
daftarsensor.descpription = "description daftar nama sensor"
daftarsensor.histerisis = 0
daftarsensor.onoff = dariform.onoff
daftarsensor.threshold = 25
daftarsensor.logenable = dariform.logenable
daftarsensor.save(function (err, result) {

         if (err) {
           res.redirect('/');
         }

     res.json(result)

})});

//READ

router.get('/daftarsensor', isLoggedIn, function (req, res, next) {

Daftarsensor.find( function (err, results) {

if (err) {

return res.write('Error!');

}

res.json(results)
    });
});


// Update daftarsensor by ID via ajax
 router.put('/daftarsensor/:id',  isLoggedIn, function (req, res, next) {

var idurl = req.params;  // untuk id di uRL
var dariform = req.body; // untuk body form
Daftarsensor.findByIdAndUpdate(idurl.id , {

namadaftarsensor: dariform.namadaftarsensor,
namaiosensor: dariform.namaiosensor,
iddigitalinout: dariform.iddigitalinout,
idlogsensor: dariform.idlogsensor,
descpription: "penjelasan",
histerisis: 27,
onoff: dariform.onoff,
logenable: dariform.logenable,
threshold : 25
},

        function(err, result) {

        if (err) throw err;
      res.json(result) //hasil dikembalikan ke Ajax "data"

      });
});

// Delete sensor by ID

   router.delete('/daftarsensor/:id', isLoggedIn, function (req, res, next) {

var urlid = req.params;

Daftarsensor.findByIdAndRemove(urlid.id, function(err, result) {

          if (err) throw err;

         res.json(result) //hasil pembuangan di dikembalikan ke ajax

      });});

function isLoggedIn(req, res, next) {
        if (req.isAuthenticated()) {
          return next();
        }

        req.session.oldUrl = req.url;
        res.redirect('/user/signin');
      }