Guys follow ig mimin Follow Instagram

Belajar Backend Part 12 - Pengantar MongoDB - Database NoSQL

Pengantar MongoDB - Database NoSQL untuk Aplikasi Web

Pengantar MongoDB - Database NoSQL untuk Aplikasi Web

MongoDB Overview

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.

إرسال تعليق

Oops!
It seems there is something wrong with your internet connection. Please connect to the internet and start browsing again.
AdBlock Detected!
We have detected that you are using adblocking plugin in your browser.
The revenue we earn by the advertisements is used to manage this website, we request you to whitelist our website in your adblocking plugin.