Pengantar
MongoDB adalah database NoSQL yang menyimpan data dalam bentuk dokumen JSON (JavaScript Object Notation) atau lebih tepatnya format BSON (Binary JSON).
Berbeda dengan database relasional seperti MySQL atau PostgreSQL yang menggunakan tabel dan kolom, MongoDB menggunakan koleksi (collection) dan dokumen (document).
Fungsi Mongodb
Fungsi Utama MongoDB
-
📦 Menyimpan Data
-
MongoDB digunakan untuk menyimpan data dalam bentuk dokumen (JSON/BSON).
-
Data bisa berupa teks, angka, array, bahkan objek bersarang (nested object).
-
-
Mengambil Data (Query)
-
MongoDB bisa melakukan pencarian data berdasarkan kriteria tertentu menggunakan perintah
find()
.
-
-
Memperbarui dan Menghapus Data
-
Kamu bisa mengedit atau menghapus data dengan perintah
updateOne()
,updateMany()
, ataudeleteOne()
.
-
-
Analisis Data (Aggregation)
-
MongoDB punya aggregation framework untuk menganalisis data seperti menghitung total, rata-rata, atau mengelompokkan (grouping).
-
-
Menangani Volume Data Besar
-
Menyediakan Data ke Aplikasi
Cara Install Mongodb via Docker Compose
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager –add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install -y docker-ce docker-ce-cli containerd.io
sudo systemctl start docker
sudo systemctl enable docker
- Install docker compose
DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
mkdir -p $DOCKER_CONFIG/cli-plugins
curl -SL https://github.com/docker/compose/releases/latest/download/docker-compose-linux-x86_64 \
-o $DOCKER_CONFIG/cli-plugins/docker-compose
chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose
docker compose version
- Buat docker compose untuk mongodb
mkdir -p /home/mongodb
cd /home/mongodb
nano docker-compose.yaml
version: ‘3.8’
services:
mongodb:
image: mongo:7.0
container_name: mongodb
restart: always
ports:
– “192.168.3.4:27017:27017”
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: 12345
volumes:
– ./data/db:/data/db
mongo-express:
image: mongo-express:latest
container_name: mongo-express
restart: always
ports:
– “192.168.3.4:8081:8081”
environment:
ME_CONFIG_MONGODB_SERVER: mongodb
ME_CONFIG_MONGODB_ADMINUSERNAME: root
ME_CONFIG_MONGODB_ADMINPASSWORD: 12345
ME_CONFIG_BASICAUTH_USERNAME: admin
ME_CONFIG_BASICAUTH_PASSWORD: pass123
- Jalankan docker compose
docker compose up -d
- Nanti akan muncul 2 container
[root@localhost mongo]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
63dc3d0cdbd0 mongo-express:latest “/sbin/tini — /dock…” 21 minutes ago Up 21 minutes 192.168.3.4:8081->8081/tcp mongo-express
58c100c4713b mongo:7.0 “docker-entrypoint.s…” 21 minutes ago Up 21 minutes 192.168.3.4:27017->27017/tcp mongodb
- Test login Via web
akses http://192.168.3.4:8081
user : admin , pass : pass123
- Cara menambahkan user mongo via init script
mkdir -p ./init-mongo
nano ./init-mongo/create-user.js
db.createUser({
user: “myuser”,
pwd: “mypassword”,
roles: [
{ role: “readWrite”, db: “mydatabase” }
]
});
- Tambahkan ke docker compose
mongodb:
image: mongo:7.0
container_name: mongodb
restart: always
ports:
– “27017:27017”
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: 12345
MONGO_INITDB_DATABASE: admin
volumes:
– ./data/db:/data/db
– ./init-mongo:/docker-entrypoint-initdb.d
- kemudian rebuild docker compose nya
docker compose down -v
docker compose up -d
- cek user
docker exec -it mongodb mongosh -u root -p 12345
use mydatabase
show users
Penutup
Sahabat Blog Learning & Doing demikianlah penjelasan mengenai Cara Install Mongodb Via Docker Compose. Semoga Bermanfaat . Sampai ketemu lagi di postingan berikut nya.