Skip to main content

MongoDB

MongoDB adalah sistem manajemen basis data NoSQL berbasis dokumen yang menggunakan format JSON (JavaScript Object Notation) untuk menyimpan data.
Tidak seperti database relasional (MySQL, PostgreSQL), MongoDB tidak menggunakan tabel dan kolom, melainkan koleksi (collections) dan dokumen (documents).

Karakteristik Utama:

  • Skema fleksibel (schema-less)
  • Mendukung horizontal scaling (sharding)
  • Query menggunakan bahasa JSON-like
  • Cocok untuk aplikasi modern, real-time, dan big data

Instalasi MongoDB (Contoh: Linux/Alpine/Debian)

1. Instalasi di Ubuntu/Debian

sudo apt update
sudo apt install -y mongodb

Atau untuk versi terbaru dari repository resmi:

wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add -
echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu $(lsb_release -cs)/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
sudo apt update
sudo apt install -y mongodb-org

Menjalankan MongoDB

sudo systemctl start mongod
sudo systemctl enable mongod
sudo systemctl status mongod

2. Instalasi Menggunakan Docker

docker run -d \
--name mongodb \
-p 27017:27017 \
-v ~/mongo-data:/data/db \
mongo:6.0

3. Konfigurasi Dasar

Lokasi File Konfigurasi (Linux): /etc/mongod.conf

# Port dan bind IP
net:
port: 27017
bindIp: 0.0.0.0 # agar dapat diakses dari luar

# Direktori data
storage:
dbPath: /var/lib/mongodb
journal:
enabled: true

# Log
systemLog:
destination: file
path: /var/log/mongodb/mongod.log
logAppend: true

# Keamanan
security:
authorization: enabled

Setelah mengubah konfigurasi, restart service:

sudo systemctl restart mongod

4. Perintah Dasar MongoDB

Membuat User dan Database

use mydatabase

Membuat user admin

db.createUser({
user: "admin",
pwd: "passwordku",
roles: [ { role: "root", db: "admin" } ]
})

Autentikasi user

db.auth("admin", "passwordku")
KategoriPerintahPenjelasan
Databaseshow dbsMenampilkan semua database
use <nama_db>Berpindah / membuat database
db.dropDatabase()Menghapus database aktif
Collectionshow collectionsMenampilkan semua koleksi
db.createCollection("users")Membuat koleksi baru
db.users.drop()Menghapus koleksi
Dokumendb.users.insertOne({nama:"Ibnu", umur:28})Menambah satu dokumen
db.users.find()Menampilkan semua data
db.users.find({nama:"Ibnu"})Query dengan filter
db.users.updateOne({nama:"Ibnu"}, {$set:{umur:29}})Update dokumen
db.users.deleteOne({nama:"Ibnu"})Hapus dokumen
Admindb.stats()Statistik database
db.serverStatus()Status server MongoDB
exitKeluar dari shell

Tips Tambahan

  • Untuk backup dan restore, gunakan perintah:
    mongodump --db mydatabase --out /backup/mongo
    mongorestore /backup/mongo