Sebagian besar aplikasi web modern memiliki semacam sistem penyimpanan data pada backend. Misalnya, jika Anda mengambil contoh dari aplikasi belanja web, data seperti harga suatu barang akan disimpan dalam database. Framework Node js dapat menangani baik database relational (seperti Oracle dan MS SQL Server) dan database non-relational (seperti MongoDB). Pada tutorial ini, kita akan melihat bagaimana kita dapat menggunakan database dari aplikasi Node js. Pada tutorial ini, Anda akan mempelajari tentang- Node.js dan Database NoSQL Selama bertahun-tahun, database NoSQL seperti MongoDB dan MySQL sudah menjadi sangat populer sebagai database untuk menyimpan data. Kemampuan database ini untuk menyimpan segala jenis konten dan khususnya dalam segala jenis format adalah hal yang membuat database ini begitu terkenal. Node.js memiliki kemampuan untuk menangani MySQL maupun MongoDB sebagai database. Untuk menggunakan salah satu dari database ini, Anda harus mendownload dan menggunakan modul yang diperlukan dengan menggunakan Node package manager. Modul yang diperlukan MySQL disebut “mysql”. Sedangkan untuk menggunakan MongoDB, modul yang perlu diinstal adalah modul “Mongoose.” Dengan modul ini, Anda dapat menjalankan operasi berikut pada Node.js.
Untuk topik yang akan datang, kita akan melihat bagaimana kita menangani database MongoDB di dalam Node.js. Menggunakan MongoDB dan Node.js Seperti yang sudah dibahas pada topik sebelumnya, MongoDB merupakan salah satu database yang paling populer yang digunakan bersama dengan Node.js. Pada bab ini, kita akan melihat Bagaimana kita dapat membangun koneksi dengan database MongoDB Bagaimana kita dapat melakukan operasi normal membaca data dari database, serta menyisipkan, menghapus, dan memperbarui record dalam database MongoDB. Untuk kepentingan bab ini, anggaplah bahwa data MongoDB di bawah ini sudah terpasang. Nama Database: EmployeeDB Nama Collection: Employee Documents { {Employeeid : 1, Employee Name : Guru99}, {Employeeid : 2, Employee Name : Joe}, {Employeeid : 3, Employee Name : Martin}, }
Anda memerlukan sebuah driver untuk mengakses Mongo dari aplikasi Node. Ada beberapa driver Mongo yang tersedia, tetapi MongoDB lah yang paling populer. Untuk menginstal modul MongoDB, jalankan perintah di bawah ini. npm install mongodb
Penjelasan Kode:
Jika kode di atas dijalankan dengan benar, maka string “Connected” (Terhubung) akan ditulis pada konsol seperti yang ditunjukkan di bawah ini.
Potongan kode di bawah ini akan menampilkan bagaimana kita dapat menggunakan driver untuk mengambil semua dokumen dari koleksi Employee pada database Employee kita. Ini adalah koleksi di database MongoDB kita, yang berisi semua dokumen yang berhubungan dengan employee (karyawan). Setiap dokumen memiliki id objek, nama karyawan, dan id karyawan untuk menentukan value dari dokumen. var MongoClient = require(‘mongodb’).MongoClient; var url = ‘mongodb://localhost/EmployeeDB’; MongoClient.connect(url, function(err, db) { var cursor = db.collection(‘Employee’).find(); cursor.each(function(err, doc) { console.log(doc); }); }); Penjelasan Kode:
Catatan: – Kita bisa mengambil record tertentu dari database. Hal ini dapat dilakukan dengan menentukan kondisi pencarian dalam fungsi find(). Sebagai contoh, misalkan jika Anda hanya ingin mengambil record yang memiliki nama karyawan Guru99, maka pernyataan ini dapat ditulis sebagai berikut. var cursor=db.collection(‘Employee’).find({EmployeeName: “guru99”}) Jika kode di atas sukses dijalankan, output berikut akan ditampilkan pada konsol Anda. Output: Dari output tersebut,
var MongoClient = require(‘mongodb’).MongoClient; var url = ‘mongodb://localhost/EmployeeDB’; MongoClient.connect(url, function(err, db) { db.collection(‘Employee’).insertOne({ Employeeid: 4, EmployeeName: “NewEmployee” }); }); Penjelasan Kode:
Jika sekarang Anda memeriksa konten database MongoDB Anda, Anda akan menemukan record dengan Employeeid: 4 dan EmployeeName: “NewEmployee” disisipkan ke dalam koleksi Employee. Catatan: Konsol tidak akan menampilkan output apa pun karena record sedang dimasukkan ke dalam database dan tidak ada output yang dapat ditampilkan di sini. Untuk memeriksa apakah data telah dimasukkan dengan benar ke dalam database, Anda perlu menjalankan perintah berikut pada MongoDB
Pernyataan pertama memastikan bahwa Anda terhubung ke database EmployeeDb. Pernyataan kedua mencari record yang memiliki id Employee: 4.
var MongoClient = require(‘mongodb’).MongoClient; var url = ‘mongodb://localhost/EmployeeDB’; MongoClient.connect(url, function(err, db) { db.collection(‘Employee’).updateOne({ “EmployeeName”: “NewEmployee” }, { $set: { “EmployeeName”: “Mohan” } }); }); Penjelasan Kode:
Jika sekarang Anda memeriksa isi database MongoDB Anda, Anda akan menemukan record dengan Employeeid: 4 dan EmployeeName: “Mohan” sudah diperbarui dalam koleksi Employee. Untuk memeriksa apakah data telah diperbarui dengan benar dalam database, Anda perlu menjalankan perintah berikut dalam MongoDB
Pernyataan pertama memastikan bahwa Anda terhubung ke database EmployeeDb. Pernyataan kedua mencari record yang memiliki id karyawan: 4
var MongoClient = require(‘mongodb’).MongoClient; var url = ‘mongodb://localhost/EmployeeDB’; MongoClient.connect(url, function(err, db) { db.collection(‘Employee’).deleteOne( { “EmployeeName”: “Mohan” } ); }); Penjelasan Kode:
Jika sekarang Anda memeriksa isi database MongoDB Anda, Anda akan menemukan catatan dengan Employeeid: 4 dan EmployeeName: “Mohan” sudah dihapus dari koleksi Employee. Untuk memeriksa apakah data telah diperbarui dengan benar dalam database, Anda perlu menjalankan perintah berikut pada MongoDB
Pernyataan pertama memastikan bahwa Anda terhubung ke database EmployeeDb. Pernyataan kedua mencari dan menampilkan semua record dalam koleksi employee. Di sini Anda dapat melihat apakah catatan telah dihapus. Cara membuat aplikasi node express dengan menggunakan MongoDB untuk menyimpan dan menyajikan konten Zaman sekarang, membuat aplikasi dengan menggunakan kombinasi express dan MongoDB dinilai cukup umum. Saat bekerja dengan aplikasi berbasis web JavaScript, biasanya Anda akan menemukan istilah MEAN stack (tumpukan MEAN).
Oleh karena itu, selalu baik untuk memahami bagaimana Node.js dan MongoDB bekerjasama untuk menghasilkan aplikasi yang berinteraksi dengan database backend. Mari kita lihat contoh sederhana dari cara penggunaan “express” dan “MongoDB” bersama-sama. Contoh kita akan menggunakan koleksi Employee yang sama dengan yang ada di database MongoDB EmployeeDB. Sekarang kita akan memasukkan Express untuk menampilkan data pada halaman web kita ketika diminta oleh user. Ketika aplikasi kita berjalan di Node.js, mungkin kita perlu menjelajah ke URL http://localhost:3000/Employeeid. Ketika halaman dijalankan, semua id employee pada koleksi Employee akan ditampilkan. Jadi, mari kita lihat potongan kode pada bagian yang memungkinkan kita melakukannya. Langkah 1) Tentukan semua library yang perlu digunakan dalam aplikasi kita. Dalam contoh kasus kita, MongoDB dan library express Penjelasan Kode:
Langkah 2) Pada langkah ini, sekarang kita akan mendapatkan semua record dalam koleksi ‘Employee’ kita lalu menanganinya. Penjelasan Kode:
Langkah 3) Pada langkah ini, kita akan mengirimkan output ke halaman web dan membuat apilikasi kita mendengar port tertentu. Penjelasan Kode:
Output: Dari output tersebut,
Ini adalah referensi dari kode Anda var express = require(‘express’); var app = express(); var MongoClient = require(‘mongodb’).MongoClient; var url = ‘mongodb://localhost/EmployeeDB’; var str = “”; app.rute(‘/Employeeid’).get(function(req, res) { MongoClient.connect(url, function(err, db) { var cursor = db.collection(‘Employee’).find(); //noinspection JSDeprecatedSymbols cursor.each(function(err, item) { if (item != null) { str = str + ” Employee id ” + item.Employeeid + “</br>”; } }); res.send(str); db.close(); }); }); var server = app.listen(3000, function() {}); Catatan: cursor.each mungkin sudah dianggap usang untuk versi driver MongoDB Anda. Anda dapat menambahkan // noinspection JSDeprecatedSymbols sebelum cursor.each untuk menghindari permasalahan ini. Atau, Anda dapat menggunakan forEach. Di bawah ini adalah kode sampel dengan menggunakan forEach. var express = require(‘express’); var app = express(); var MongoClient = require(‘mongodb’).MongoClient; var url = ‘mongodb://localhost/EmployeeDB’; var str = “”; app.rute(‘/Employeeid’).get(function(req, res) { MongoClient.connect(url, function(err, db) { var collection = db.collection(‘Employee’); var cursor = collection.find({}); str = “”; cursor.forEach(function(item) { if (item != null) { str = str + ” Employee id ” + item.Employeeid + “</br>”; } }, function(err) { res.send(str); db.close(); } ); }); }); var server = app.listen(8080, function() {}); Ringkasan
|