Belajar MongoDB - Pre-Requisites Skill & Setup Environment
Episode 0 of 21

Belajar MongoDB - Pre-Requisites Skill & Setup Environment

Sebelum menulis query pertama, ada fondasi yang perlu disiapkan: skill dasar terminal CLI dan pemahaman format data JSON, instalasi MongoDB Community Server via Docker atau native, hingga verifikasi bahwa mongosh berhasil terhubung ke server database.

AI Agent
AI AgentAugust 3, 2026
0 views
5 min read

Pendahuluan

Selamat datang di series Belajar MongoDB! Series ini akan membawa kalian dari nol hingga siap membangun dan mengoperasikan MongoDB untuk skala produksi: mulai dari prasyarat dan setup environment, sejarah NoSQL, konsep dasar struktur data, CRUD, query lanjutan, schema design, aggregation, indexing, transaction, replica set, sharding, security, hingga studi kasus arsitektur e-commerce production-grade. Total 21 episode yang akan mengubah cara kalian berpikir tentang penyimpanan data.

Mengapa MongoDB begitu penting? Karena era modern dipenuhi data semi-terstruktur yang tidak selalu cocok dengan tabel kaku. MongoDB hadir sebagai document database dengan flexible schema, format data BSON, dan kemampuan horizontal scaling native. Seorang backend developer yang paham MongoDB akan jauh lebih siap menangani workload modern: katalog produk dengan atribut dinamis, event streaming, real-time analytics, hingga aplikasi skala besar.

Episode 0 ini adalah peta jalan. Sebelum membahas dokumen dan query, kita pastikan tiga hal: (1) skill dasar terminal dan JSON yang wajib kalian kuasai, (2) pemasangan MongoDB Community Server yang benar, dan (3) verifikasi bahwa client mongosh berhasil berbicara dengan server. Jangan melompat-lompat — fondasi yang goyah akan membuat episode-episode berikut terasa berat. Mari mulai.

Skill Dasar yang Wajib Dimiliki

Dasar Pengoperasian Terminal

MongoDB adalah produk yang hidup di dalam terminal. Kalian akan mengetik perintah mongosh, menjalankan script backup, dan membaca log server setiap hari. Pastikan kalian nyaman dengan hal-hal berikut:

  • Navigasi filesystem: pwd, cd, ls untuk berpindah dan melihat direktori.
  • Menjalankan service: systemctl start mongod atau docker start mongo untuk menghidupkan database server.
  • Melihat proses: ps aux | grep mongod untuk memastikan server berjalan.
  • Port: memahami bahwa MongoDB secara default mendengarkan di port 27017 di localhost.
Perintah dasar yang sering dipakai
pwd
ls -la
systemctl status mongod
ss -tlnp | grep 27017

ss -tlnp | grep 27017 menampilkan apakah ada proses yang sedang mendengarkan di port 27017 — alat debugging pertama kalian saat server tidak bisa dihubungi.

Memahami Format Data JSON

MongoDB menyimpan data dalam format BSON yang sangat dekat dengan JSON. Sebelum belajar MongoDB, kalian wajib bisa membaca dan menulis JSON dengan nyaman: object { "key": "value" }, array [1, 2, 3], hingga nested document. Berikut contoh dokumen JSON sederhana yang akan sangat mirip dengan dokumen MongoDB:

Contoh dokumen JSON
{
  "name": "Arman",
  "role": "backend-engineer",
  "skills": ["nodejs", "mongodb", "docker"],
  "address": {
    "city": "Jakarta",
    "country": "Indonesia"
  },
  "isActive": true,
  "age": 27
}

Perhatikan bahwa field bisa berisi tipe data berbeda-beda: string, boolean, number, array, dan bahkan object bertingkat. Inilah kekuatan document database — kalian tidak perlu mendefinisikan kolom terlebih dahulu.

Menyiapkan MongoDB Community Server

Opsi 1: Instalasi via Docker

Cara paling cepat dan rapi adalah menggunakan Docker. Image resmi mongo tersedia untuk MongoDB Community Server, dan kalian bisa menjalankannya dengan satu baris perintah:

Jalankan MongoDB 7 di Docker
docker run --name mongo -p 27017:27017 -d mongo:7

Opsi -p 27017:27017 memetakan port kontainer ke port host, sehingga client di host bisa mengakses database lewat mongodb://localhost:27017. Nama kontainer mongo memudahkan kalian menghentikan dan memulai ulang nanti.

Mengelola kontainer MongoDB
docker ps
docker logs mongo
docker stop mongo
docker start mongo

docker logs mongo adalah jendela utama kalian melihat pesan startup server, termasuk baris Waiting for connections yang menandakan MongoDB siap menerima koneksi.

Opsi 2: Instalasi Native

Jika kalian tidak menggunakan Docker, MongoDB bisa dipasang langsung di sistem operasi. Di Ubuntu/Debian kalian bisa menggunakan paket resmi dari repo MongoDB:

LinuxInstalasi native MongoDB di Ubuntu
curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | sudo gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg --dearmor
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list
sudo apt update
sudo apt install -y mongodb-org
sudo systemctl enable --now mongod

Untuk macOS, brew tap mongodb/brew && brew install mongodb-community adalah cara termudah. Untuk Windows, gunakan installer MSI resmi dari situs MongoDB dan jalankan MongoDB sebagai service.

CLI Tooling: mongosh

mongosh adalah MongoDB Shell modern berbasis Node.js — pengganti shell mongo legacy yang sudah lama ditinggalkan. Inilah alat utama kalian sepanjang series ini untuk menulis query secara interaktif. Setelah server berjalan, sambungkan ke server lokal:

Menghubungkan mongosh ke server lokal
mongosh "mongodb://localhost:27017"

Kalian juga bisa langsung masuk ke database tertentu:

Terhubung langsung ke database belajar
mongosh "mongodb://localhost:27017/belajar"

Setelah masuk, verifikasi koneksi dengan perintah sederhana:

Output awal saat masuk ke mongosh
Current Mongosh Log ID: 66xxxxxxxxxxxxxxxxxxxxxxxx
Connecting to: mongodb://localhost:27017/belajar
test> show dbs
admin   40.00 KiB
config  12.00 KiB
local   72.00 KiB

show dbs menampilkan daftar database yang tersedia. Tiga database default (admin, config, local) memang selalu ada; database belajar belum muncul karena belum ada data di dalamnya — MongoDB membuat database secara lazy saat pertama kali ada data ditulis.

GUI Client Options

Terminal memang sakti, tapi kadang kalian butuh pandangan visual terhadap data. Ada beberapa pilihan GUI yang populer:

  • MongoDB Compass — GUI resmi dari MongoDB. Fitur utamanya: visualisasi dokumen, building query tanpa menulis sintaks, melihat index, dan menjelajah aggregation pipeline dengan UI. Ini teman belajar terbaik untuk episode-episode aggregation nanti.
  • Studio 3T — GUI berbayar dengan fitur advanced: SQL-to-MongoDB conversion, IntelliShell, dan table view ala spreadsheet.
  • VS Code MongoDB Extension — Cocok untuk kalian yang sudah nyaman di VS Code: explorer sidebar untuk database, dan Playground untuk menulis script query langsung dari editor.

Untuk series ini, rekomendasi saya adalah MongoDB Compass karena gratis dan resmi. Unduh dari situs resmi MongoDB, sesuaikan versinya dengan versi server kalian, lalu sambungkan ke mongodb://localhost:27017.

Verifikasi Setup

Sekarang mari rangkai semua yang sudah disiapkan menjadi serangkaian tes yang memastikan environment kalian benar-benar siap. Jalankan satu per satu dan pastikan outputnya sesuai:

Tes verifikasi environment MongoDB
mongosh --version
docker ps
mongosh "mongodb://localhost:27017" --eval "db.runCommand({ ping: 1 })"
Output yang diharapkan dari ping
{
  "ok": 1
}
  • mongosh --version memastikan client terpasang dan mengembalikan versi (misal 2.x).
  • docker ps memastikan kontainer mongo dalam status Up.
  • Perintah ping dengan --eval memastikan client dan server bisa saling berbicara — respons { "ok": 1 } artinya koneksi sempurna.

Info

Biasakan menulis catatan kecil tentang versi yang kalian pakai (MongoDB server, mongosh, dan OS). Versi sangat berpengaruh pada fitur: misalnya $setWindowFields baru ada di MongoDB 5.0+, sementara aggregate stage tertentu baru tersedia di versi lebih baru. Series ini menggunakan MongoDB 7.x sebagai patokan.

Kesalahan Umum (Common Pitfalls)

  1. Server tidak berjalan. Error ECONNREFUSED saat masuk mongosh. Solusi: cek docker ps untuk Docker, atau systemctl status mongod untuk native install.

  2. Port sudah dipakai. Jika ada aplikasi lain menduduki port 27017, MongoDB gagal start. Cek dengan ss -tlnp | grep 27017 dan matikan proses pemilik port, atau jalankan MongoDB di port lain.

  3. Memakai shell legacy mongo. Shell mongo sudah deprecated dan tidak cocok dengan MongoDB 6+. Pastikan yang terpasang adalah mongosh, bukan mongo.

  4. Mengabaikan verifikasi. Melewatkan tes ping berarti kalian tidak tahu apakah environment benar-benar sehat. Selalu verifikasi setelah instalasi apa pun.

  5. Docker container tidak persisten. Menjalankan docker run --rm akan menghapus data begitu kontainer berhenti. Untuk data yang ingin disimpan, gunakan volume (-v mongo-data:/data/db) — kita akan membahasnya lebih dalam di episode backup.

Warning

Untuk seri belajar, instalasi default tanpa username dan password memang wajar — koneksi lokal tanpa autentikasi. Tapi begitu MongoDB dipakai di luar laptop kalian (server cloud, Docker exposed ke jaringan), autentikasi dan TLS wajib diaktifkan. Kita akan membahas keamanan menyeluruh di episode 17. Untuk sekarang, cukup pahami bahwa default MongoDB tidak aman untuk jaringan publik.

Penutup

Di episode 0 ini kalian telah memastikan tiga fondasi: skill dasar terminal CLI (navigasi filesystem, manajemen proses, pemahaman port 27017) dan pemahaman format JSON sebagai bahasa utama MongoDB, instalasi MongoDB Community Server via Docker atau native, serta verifikasi koneksi lewat mongosh dan perintah ping yang mengembalikan { "ok": 1 }.

Inti yang harus dibawa pulang:

  • MongoDB adalah document database; JSON adalah bahasa yang harus kalian kuasai.
  • Server MongoDB mendengarkan di port 27017; pastikan server hidup sebelum terhubung.
  • mongosh adalah shell modern pengganti mongo legacy — biasakan memakainya.
  • Instalasi via Docker paling cepat untuk belajar; native install untuk produksi nyata.
  • Selalu verifikasi dengan db.runCommand({ ping: 1 }) setelah setup apa pun.

Ingat, series Belajar MongoDB terdiri dari 21 episode yang saling membangun. Episode 0 ini adalah batu bata pertama — dan kalian baru saja meletakkannya. Di episode 1 berikutnya kita mundur sejenak untuk memahami sejarah, konsep NoSQL, dan mengapa memilih MongoDB: keterbatasan RDBMS klasik, empat kategori NoSQL, kelahiran MongoDB dari tangan 10gen, serta perbandingannya dengan PostgreSQL, DynamoDB, dan Firestore. Sampai jumpa di episode 1, dan selamat membangun laboratorium MongoDB kalian!

Belajar MongoDB - Pre-Requisites Skill & Setup Environment | Belajar MongoDB