Pengantar MongoDB - Database NoSQL untuk Aplikasi Web
Dalam pengembangan aplikasi backend, salah satu hal penting yang perlu dipertimbangkan adalah pemilihan database. Salah satu pilihan yang populer adalah MongoDB, database NoSQL yang cocok untuk aplikasi web modern. MongoDB menyimpan data dalam format JSON yang dikenal sebagai BSON (Binary JSON), yang memudahkan penyimpanan dan pengambilan data secara fleksibel.
Apa itu MongoDB?
MongoDB adalah database NoSQL (Not Only SQL) yang menawarkan fleksibilitas dalam penyimpanan data. Berbeda dengan database relasional yang menggunakan tabel dan baris, MongoDB menggunakan koleksi dan dokumen. Data dalam MongoDB disimpan dalam format JSON yang mudah dibaca, memungkinkan pengembang untuk mengelola data yang lebih kompleks dan tidak terstruktur dengan lebih baik.
Fitur Utama MongoDB
- Skalabilitas: MongoDB dirancang untuk skala besar, mampu menangani volume data yang besar dengan mudah.
- Fleksibilitas: Data dapat disimpan dalam struktur yang lebih fleksibel, tanpa harus mengikuti schema yang ketat seperti pada database SQL.
- Query yang Kuat: MongoDB mendukung query kompleks dan pengindeksan untuk meningkatkan performa pencarian data.
- Replikasi dan Ketersediaan Tinggi: MongoDB mendukung replikasi untuk memastikan data tersedia bahkan jika server gagal.
Langkah-langkah Menggunakan MongoDB
Berikut adalah langkah-langkah dasar untuk memulai menggunakan MongoDB di aplikasi Node.js:
1. Install MongoDB
Langkah pertama adalah menginstal MongoDB. Anda dapat mengunduhnya dari situs resmi MongoDB di sini. Setelah menginstal MongoDB, pastikan server MongoDB berjalan dengan perintah:
mongod
2. Install MongoDB Driver untuk Node.js
Untuk menghubungkan Node.js dengan MongoDB, kita perlu menginstal MongoDB driver. Anda dapat menginstalnya menggunakan npm:
npm install mongodb
3. Membuat Koneksi ke MongoDB
Setelah menginstal driver MongoDB, buatlah koneksi di file app.js seperti berikut:
const { MongoClient } = require('mongodb');
const url = 'mongodb://localhost:27017';
const dbName = 'myDatabase';
MongoClient.connect(url, { useNewUrlParser: true, useUnifiedTopology: true })
.then(client => {
console.log('Connected to Database');
const db = client.db(dbName);
const collection = db.collection('users');
// Operasi database dapat dilakukan di sini
})
.catch(error => console.error(error));
Contoh Operasi CRUD di MongoDB
Menambahkan Data
Untuk menambahkan data baru ke dalam koleksi, kita dapat menggunakan metode insertOne():
collection.insertOne({ name: 'John Doe', age: 30 })
.then(result => console.log('User added:', result))
.catch(error => console.error(error));
Menampilkan Data
Untuk menampilkan data, kita dapat menggunakan metode find():
collection.find({}).toArray()
.then(users => console.log(users))
.catch(error => console.error(error));
Memperbarui Data
Untuk memperbarui data, kita dapat menggunakan metode updateOne():
collection.updateOne(
{ name: 'John Doe' },
{ $set: { age: 31 } }
)
.then(result => console.log('User updated:', result))
.catch(error => console.error(error));
Hapus Data
Untuk menghapus data, kita dapat menggunakan metode deleteOne():
collection.deleteOne({ name: 'John Doe' })
.then(result => console.log('User deleted:', result))
.catch(error => console.error(error));
Kesimpulan
MongoDB adalah pilihan populer untuk aplikasi web yang membutuhkan database fleksibel, skalabel, dan mudah dikelola. Dengan fitur seperti replikasi dan kueri yang kuat, MongoDB dapat digunakan untuk berbagai aplikasi mulai dari prototipe hingga sistem produksi yang besar. Mengintegrasikan MongoDB dengan Express.js memungkinkan pengembang untuk membuat aplikasi full-stack yang lebih efisien dan mudah untuk diskalakan.