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")
| Kategori | Perintah | Penjelasan |
|---|---|---|
| Database | show dbs | Menampilkan semua database |
use <nama_db> | Berpindah / membuat database | |
db.dropDatabase() | Menghapus database aktif | |
| Collection | show collections | Menampilkan semua koleksi |
db.createCollection("users") | Membuat koleksi baru | |
db.users.drop() | Menghapus koleksi | |
| Dokumen | db.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 | |
| Admin | db.stats() | Statistik database |
db.serverStatus() | Status server MongoDB | |
exit | Keluar dari shell |
Tips Tambahan
- Untuk backup dan restore, gunakan perintah:
mongodump --db mydatabase --out /backup/mongo
mongorestore /backup/mongo