Tutorial ExpressJS 11 : Penggunaan Database pada ExpressJS

Tutorial ExpressJS 11 : Penggunaan Database pada ExpressJS. Untuk menggunakan Mongo dengan mengekspresikan kita membutuhkan API klien untuk node.

Tutorial ExpressJS 11 : Penggunaan Database pada ExpressJS
Tutorial ExpressJS 11 : Penggunaan Database pada ExpressJS
Tutorial ExpressJS 11 : Penggunaan Database pada ExpressJS. Untuk menggunakan Mongo dengan mengekspresikan kita membutuhkan API klien untuk node. Ada banyak pilihan untuk kita, tapi untuk tutorial ini kita akan tetap berpakaian Mongoose. Mongoose digunakan untuk pemodelan dokumen di Node untuk MongoDB. 

Pemodelan dokumen berarti, kita akan membuat Model (seperti kelas dalam pemrograman berorientasi dokumen), dan kemudian kita akan menghasilkan dokumen dengan menggunakan Model ini (seperti kita membuat dokumen kelas di OOP). Semua proses kami akan dilakukan pada "dokumen" ini, akhirnya kami akan menulis dokumen-dokumen ini di database kami.

Menyiapkan mongoose

Setelah menginstal Mongodb, mari kita pasang mongoose, dengan cara yang sama seperti kita memasang paket simpul kita yang lain:
npm install --save mongoose
Sebelum kita mulai menggunakan Mongoose, kita harus membuat database menggunakan tempurung mongo. Untuk membuat database baru, buka terminal anda dan masukkan "mongo". Sebuah cangkang Mongo akan dimulai, masukkan yang berikut,
use my_db
Database baru akan dibuat untuk Anda. Setiap kali Anda membuka shell mongo, itu akan default untuk "menguji" db dan Anda harus mengubah database Anda menggunakan commmand yang sama seperti di atas.

Untuk menggunakan Mongoose, kita akan memerlukannya di file index.js kita dan kemudian terhubung ke layanan mongod yang berjalan di mongodb://localhost
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/my_db');
Sekarang aplikasi kita terhubung ke database kami, mari kita membuat Model baru. Model ini akan bertindak sebagai kumpulan dalam database kita. Untuk membuat Model baru, gunakan kode berikut, sebelum menentukan rute apa pun:
var personSchema = mongoose.Schema({
   name: String,
   age: Number,
   nationality: String
});
var Person = mongoose.model("Person", personSchema);
Kode di atas mendefinisikan skema untuk seseorang dan digunakan untuk membuat Model Personel mongoose.

Menyimpan dokumen

Sekarang kita akan membuat form html baru yang akan mendapatkan rincian seseorang dan menyimpannya ke database kita. Untuk membuat form, buat file view baru bernama person.pug dalam view directory dengan konten berikut:
html
head
   title Person
   body
      form(action="/person", method="POST")
      div
         label(for="name") Name: 
         input(name="name")
      br
      div
         label(for="age") Age: 
         input(name="age")
      br
      div
         label(for="nationality") Nationality: 
         input(name="nationality")
      br
      button(type="submit") Create new person
Juga tambahkan rute get baru di index.js untuk membuat dokumen ini:
app.get('/person', function(req, res){
    res.render('person');
});
Pergi ke localhost:3000/person untuk memeriksa apakah formulir Anda ditampilkan dengan benar. Perhatikan bahwa ini hanya UI, belum bekerja. Beginilah bentuknya:

Kita sekarang akan menentukan penangan rute pos di '/person' yang akan menangani permintaan ini:
app.post('/person', function(req, res){
   var personInfo = req.body; //Get the parsed information
   if(!personInfo.name || !personInfo.age || !personInfo.nationality){
      res.render('show_message', {message: "Sorry, you provided worng info", type: "error"});
   } else {
      var newPerson = new Person({
         name: personInfo.name,
         age: personInfo.age,
         nationality: personInfo.nationality
      });
  
      newPerson.save(function(err, Person){
         if(err)
         res.render('show_message', {message: "Database error", type: "error"});
         else
         res.render('show_message', {message: "New person added", type: "success", person: personInfo});
      });
   }
});
Pada kode di atas, jika kita menerima field kosong atau tidak menerima field apapun, kita akan mengirimkan error response. Tetapi jika kita menerima dokumen yang terbentuk dengan baik, maka kita membuat dokumen baru dari Person model dan menyimpannya ke DB kita dengan menggunakan fungsi newPerson.save (). Ini didefinisikan dalam mongoose dan menerima callback sebagai argumen. Callback memiliki 2 argumen, error dan response. Ini akan menampilkan tampilan show_message, jadi kita perlu membuatnya juga.

Untuk menunjukkan tanggapan dari rute ini, kita juga perlu membuat tampilan show_message. Buat tampilan baru dengan kode berikut:
html
   head
      title Person
   body
      if(type == "error")
         h3(style = "color:red") #{message}
      else
         h3 New person, name: #{person.name}, age: #{person.age} and nationality: #{person.nationality} added!
Tanggapan yang kami terima berhasil mengirimkan formulir (show_message.pug):

Kami sekarang memiliki antarmuka untuk menciptakan orang!

Mengambil dokumen

Mongoose menyediakan banyak fungsi untuk mengambil dokumen, kita akan fokus pada 3 dari itu. Semua fungsi ini juga mengambil callback sebagai parameter terakhir, dan sama seperti fungsi save, argumen mereka adalah error dan response. Ketiga fungsinya adalah:
  • Model.find (conditions, callback)
    Fungsi ini menemukan semua dokumen yang sesuai dengan bidang dalam kondisi objek. Operator yang sama yang digunakan di Mongo juga bekerja di mongoose. Sebagai contoh,
    Person.find(function(err, response){
        console.log(response);
    });
    
    Ini akan mengambil semua dokumen dari koleksi orang tersebut.
    Person.find({name: "Ayush", age: 20}, 
        function(err, response){
            console.log(response);
        });
    
    Ini akan mengambil semua dokumen di mana nama feild adalah "Ayush" dan umurnya 20. Kita juga bisa memberikan proyeksi yang kita butuhkan, yaitu bidang yang kita butuhkan. Misalnya, jika kita hanya menginginkan nama orang-orang yang kewarganegaraannya "India", kita menggunakan:
    Person.find({nationality: "Indian"}, 
        "name", 
        function(err, response){
            console.log(response);
        });
    

  • Model.findOne (conditions, callback)
    Fungsi ini selalu mengambil satu dokumen yang paling relevan. Ini memiliki argumen yang sama persis seperti Model.find ().

  • Model.findById (id, callback)
    Fungsi ini mengambil _id (didefinisikan oleh mongo) sebagai argumen pertama, sebuah string proyeksi opsional dan callback untuk menangani respons. Sebagai contoh,
    
    Person.findById("507f1f77bcf86cd799439011", 
        function(err, response){
            console.log(response);
        });
    
Mari buat rute untuk melihat semua catatan orang:
var express = require('express');
var app = express();

var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/my_db');

var personSchema = mongoose.Schema({
   name: String,
   age: Number,
   nationality: String
});

var Person = mongoose.model("Person", personSchema);

app.get('/people', function(req, res){
   Person.find(function(err, response){
      res.json(response);
   });
});

app.listen(3000);

Memperbarui Dokumen

Mongoose menyediakan 3 fungsi untuk memperbarui dokumen.
  • Model.update (condition, updates, callback)
    Fungsi ini mengambil kondisi dan objek update sebagai masukan dan menerapkan perubahan pada semua dokumen yang sesuai dengan kondisi dalam koleksi. Misalnya, kode berikut akan memperbarui semua dokumen Orang untuk memiliki kewarganegaraan "Amerika":
    
    Person.update({age: 25},
        {nationality: "American"}, 
        function(err, response){
            console.log(response);
        });
    

  • Model.findOneAndUpdate(condition, updates, callback)
    Itu persis apa yang dikatakan. Menemukan satu dokumen berdasarkan query dan update yang sesuai dengan argumen kedua. Ini juga mengambil callback sebagai argumen terakhir. Contoh berikut
    Person.findOneAndUpdate({name: "Ayush"}, 
        {age: 40}, 
        function(err, response){
            console.log(response);
        });
    
  • Model.findByIdAndUpdate(id, updates, callback)
    Fungsi ini memperbarui satu dokumen yang diidentifikasi oleh idnya. Sebagai contoh,
    Person.findByIdAndUpdate("507f1f77bcf86cd799439011", 
        {name: "James"}, 
        function(err, response){
            console.log(response);
        });
    
Mari membuat rute untuk memperbarui orang. Ini akan menjadi rute PUT dengan id sebagai parameter dan rincian payload.
var express = require('express');
var app = express();

var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/my_db');

var personSchema = mongoose.Schema({
   name: String,
   age: Number,
   nationality: String
});

var Person = mongoose.model("Person", personSchema);

app.put('/people/:id', function(req, res){
   Person.findByIdAndUpdate(req.params.id, req.body, function(err, response){
      if(err) res.json({message: "Error in updating person with id " + req.params.id});
      res.json(response);
   });
});

app.listen(3000);
Untuk menguji rute ini, masukkan yang berikut di terminal Anda (ganti id dengan id dari orang yang Anda buat):
curl -X PUT --data "name=James&age=20&nationality=American" http://localhost:3000/people/507f1f77bcf86cd799439011
Ini akan memperbarui dokumen yang terkait dengan id yang ada di rute dengan rincian di atas.

Menghapus dokumen

Kami telah membahas Create, Read and Update, sekarang kita akan melihat bagaimana luwak dapat digunakan untuk Menghapus dokumen. Kami memiliki 3 fungsi di sini, persis seperti update.
  • Model.remove(condition, [callback])
    Fungsi ini mengambil objek kondisi sebagai masukan dan menghapus semua dokumen yang sesuai dengan kondisi. Misalnya, jika kita perlu menghapus semua orang berusia 20,
    Person.remove({age:20});
    

  • Model.findOneAndRemove(condition, [callback])
    Fungsi ini menghapus dokumen tunggal yang paling relevan sesuai dengan kondisi objek. Sebagai contoh,
  • Person.findOneAndRemove({name: "Ayush"});
    

  • Model.findByIdAndRemove(id, [callback])
    This function removes a single document identified by its id. For example,
    Person.findByIdAndRemove("507f1f77bcf86cd799439011");
    
Sekarang mari kita membuat rute untuk menghapus orang dari database kami.
var express = require('express');
var app = express();

var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/my_db');

var personSchema = mongoose.Schema({
   name: String,
   age: Number,
   nationality: String
});

var Person = mongoose.model("Person", personSchema);

app.delete('/people/:id', function(req, res){
   Person.findByIdAndRemove(req.params.id, function(err, response){
      if(err) res.json({message: "Error in deleting record id " + req.params.id});
      else res.json({message: "Person with id " + req.params.id + " removed."});
   });
});

app.listen(3000);
Untuk menguji ini, gunakan perintah curl berikut ini:
curl -X DELETE http://localhost:3000/people/507f1f77bcf86cd799439011
Ini akan menghapus orang yang diberi id yang menghasilkan pesan berikut:
{message: "Person with id 507f1f77bcf86cd799439011 removed."}
Ini membungkus bagaimana kita bisa membuat aplikasi CRUD sederhana menggunakan MongoDB, luwak dan Express.



COMMENTS

Nama

5G,2,8085,4,A Theory of Human Motivation,1,Administrasi Server,40,Adware,1,akuntansi,4,Alat Penguji Software,1,Algoritma,5,Algoritma Genetika,1,alkali tanah,1,Aluminium,1,Analis Kimia,3,Analisis Asimtotik,1,Android,5,Antenna,17,Antivirus,6,Aplikasi,20,Apps,1,Arduino,44,Aresnik,1,Array,1,Arsitektur Komputer,6,Arsitelktur Komputer,1,artikel,3,asam dan basa,2,atom,2,avogadro,1,bandwith,2,bash,2,Berita,10,BinProxy,1,biologi,1,boron,1,Bridge,1,Browser,2,Cahaya,1,catatan Hanibal Wijayanta,5,centos,2,Chrome Vanadium,1,CodeIgniter,7,cpu,1,CSS,18,CSS3,13,dasar akuntansi,4,Dasar Elektronika,23,Dasar Pengalamatan IPV6,8,dasat atom,1,Database,20,dhcp,1,DNS,1,Efek Hall,1,efek tyndall,1,Electrical circuit,1,electronica,1,Elektromagnet,1,Elektromagnetik,1,elektron,1,Elektronika,105,Elektronika Digital,51,elektronika komunikasi,1,energi,1,energi terbarukan,1,English Lecturer,1,enkripsi,1,Excel,10,expressjs,11,Firewall,2,Fisika,9,Forensik Digital,1,game,1,gelombang radio,1,Generator Listrik AC,1,Gerbang Logika,4,germanium,1,Google Chrome,2,grafik excel,1,gzip deflate,1,halogen,1,handbrake,1,Hanibal Wijayanta,7,Hardware,14,Headline,13,Helium,1,Hidrogen,1,hirarki kebutuhan maslow,1,hotspot,3,HTML,1,http,1,https,1,induktansi,2,induktor,4,Informasi,1,Inovasi,1,Internet,9,ipa,1,Iphone,1,ipv6,11,isotop,1,Jaringan Dasar,26,Jaringan Komputer,32,javascript,11,jquery,3,Kajian Islam,1,kalsium,1,Kapasitor,5,kapasitor elektrolit,1,kapasitor polarized,1,Kapasitor-tetap,1,kapasitor-variabel,1,karbon,1,Keamanan Internet,3,Keamanan Jaringan,24,Keamanan Komputer,1,Kemanan Internet,1,Kemanan Komputer,1,kernel,1,Kimia,40,kimia dasar,33,Klinik Virus,1,Komponen Elektronika,1,Komputer,12,Komputer Dasar,1,Komputer Terapan,59,Komunikasi,2,Komunikasi Data,11,kondensator,1,kromosom,1,lapbook,1,Laptop,1,Laptop gaming,1,Laravel,3,layer aplikasi,1,Layer Network,1,linux,9,LTE,4,macbook,1,Makro,6,Malware,6,Manajemen Router,1,mariadb,1,Masri Sitanggang,1,Matematika,1,Media Belajar,1,Media Transmisi,4,Mendikbud,1,merkuri,1,microsoft,1,Mikrokontroller,3,mikroskop elektron,1,Mikrotik,10,Mobile,8,modulasi,1,mojok,13,Mojok Bersama Danang,7,mojok. opini,1,motivasi,5,Multimedia,4,Mysql,19,Nasional,8,nginx,2,Nirkabel,1,nitrogen,2,nukleus,1,oauth,2,Office,5,oksidasi,1,opini,4,oracle,2,pemantulan,1,Pembiasan,1,Pemrograman,14,Pemrograman Android,1,Pemrograman Dasar,11,Pemrograman PHP,9,Pemrograman Shell,8,Pemrograman Web,42,Pendidikan,5,Penistaan,1,Perakitan Komputer,13,Permrograman PHP,1,Persamaan Linier,1,ph,1,PHP,11,PHP Framework,1,Physics,1,Power Supply,1,Pramuka,1,Processor,1,Propagasi,1,proses akuntansi,1,proteksi PDF,1,putty,1,Python,1,Rancang Bangun Jaringan,1,Rancang Bangun Jaringan LAN,2,Rancang Bangun Jaringan WAN,1,ransomware,2,reduksi,1,rehat,1,repository,1,Resistor,5,rip dvd,2,Router,2,s7,1,samsung,1,santai,1,sariroti,1,screencapture,1,sejarah,1,sejarah indonesia,2,Seluler,1,Semikonduktor,3,siklus akuntansi,1,silikon,1,Simulasi Digital,16,Sinyal,5,sirkuit,1,Sirkuit kapasitor,1,Sistem Komputer,8,Sistem Operasi,6,Sistem Operasi Jaringan,21,softskill,5,solar energy,1,spektroskopi,1,Spoofing,1,spu,5,SSH,1,STP,1,Struktur Data,2,Switch,1,switching,1,Teknologi,6,Teknologi Nirkabel,41,telkom,1,TestingWhiz,1,The dude,1,tipe konduktor,1,Tips dan Trik,21,Topologi,1,traffic light,1,transformator,4,Troubleshooting,1,Ubuntu,3,Unix,12,unsur,2,update,2,upgrade routeros,1,user manager,1,userman,1,Vanadium,1,variabel,1,variabel-kapasitor,1,VBA,7,vicon,1,video,1,Video Conference,1,virus,1,vlan,2,vlc,1,vpn,1,Wannacry,1,Warna,1,Webcam,1,Webmaster,51,webserver,1,wifi,1,Windows,11,WIndows 10,14,windows apps,1,Windows Explorer,1,Wireless,17,Wordpress,2,XII,1,XIITKJ,98,XITKJ,86,XTKJ,94,ybc,1,yum,1,
ltr
item
MasAgungLearning: Tutorial ExpressJS 11 : Penggunaan Database pada ExpressJS
Tutorial ExpressJS 11 : Penggunaan Database pada ExpressJS
Tutorial ExpressJS 11 : Penggunaan Database pada ExpressJS. Untuk menggunakan Mongo dengan mengekspresikan kita membutuhkan API klien untuk node.
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4mYTRWamOCXmAvP-rDnoP8P0S8qzyT3k9Ri1IG-lQQJc2WVOvLNttBYi2qahPg0bbVOO-c7R3_QT4OT1w-_afrKAC-3iDfFunKq91o_RQ2-73HHLIAxOtNDfsdjPL_gmtHGRgpYguTig/s640/express-js-logo.png
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4mYTRWamOCXmAvP-rDnoP8P0S8qzyT3k9Ri1IG-lQQJc2WVOvLNttBYi2qahPg0bbVOO-c7R3_QT4OT1w-_afrKAC-3iDfFunKq91o_RQ2-73HHLIAxOtNDfsdjPL_gmtHGRgpYguTig/s72-c/express-js-logo.png
MasAgungLearning
https://masagunglearning.blogspot.com/2017/06/penggunaan-database-pada-expressjs.html
https://masagunglearning.blogspot.com/
https://masagunglearning.blogspot.com/
https://masagunglearning.blogspot.com/2017/06/penggunaan-database-pada-expressjs.html
true
3233199725437061161
UTF-8
Load Semua Posting Tidak ditemukan satupun LIHAT SEMUA Baca Lanjut Ulang Gagalkan Mengulang Hapus Oleh Home HALAMAN POSTING Lihat Semua DIREKOMENDASIKAN ANDA KATEGORI ARSIP PENCARIAN SEMUA POSTING Tidak ditemukan post apapun yang sesuai dari yang anda minta Kembali Ke Beranda Minggu Senin Selasa Rabu Kamis Jum'at Saturday Sun Mon Tue Wed Thu Fri Sat Januari Februari Maret April Mei Juni Juli Agustus September October November December Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec just now 1 minute ago $$1$$ minutes ago 1 hour ago $$1$$ hours ago Yesterday $$1$$ days ago $$1$$ weeks ago more than 5 weeks ago Followers Follow THIS CONTENT IS PREMIUM Please share to unlock Copy All Code Select All Code All codes were copied to your clipboard Can not copy the codes / texts, please press [CTRL]+[C] (or CMD+C with Mac) to copy