Belajar MongoDB Dasar Menggunakan MongoDB Compass (Aman untuk Amazon DocumentDB)

Artikel ini membahas dasar-dasar MongoDB menggunakan MongoDB Compass untuk pemula, dengan pendekatan yang aman dan kompatibel jika nantinya database akan dijalankan di Amazon DocumentDB.

"Cocok untuk: backend developer, cloud learner, dan engineer yang ingin memahami NoSQL document database dari nol."


Gambar tersebut menampilkan antarmuka Docker Desktop pada menu Images, yang menunjukkan daftar image kontainer yang tersimpan secara lokal di komputer. Terlihat satu image basis data MongoDB dengan tag latest berukuran 855.24 MB yang siap untuk dijalankan menjadi sebuah kontainer melalui tombol "Run". Panel ini memudahkan pengembang untuk memantau penggunaan ruang penyimpanan (terpakai 2.03 GB dari total 20.92 GB) serta mengelola berbagai versi aplikasi dengan lebih terorganisir.


Gambar tersebut menunjukkan proses konfigurasi untuk menjalankan kontainer baru dari image mongo:latest melalui Docker Desktop. Dalam jendela Optional settings, pengguna telah menentukan nama kontainer sebagai Mongo20260113 dan melakukan pemetaan host port ke 27017. Selain itu, terlihat pengaturan Environment variables yang krusial untuk keamanan basis data, di mana variabel MONGO_INITDB_ROOT_USERNAME dan MONGO_INITDB_ROOT_PASSWORD telah diatur dengan nilai root untuk menentukan kredensial akses awal saat kontainer mulai berjalan.

Info Anda:

  • Port 27017: Ini adalah port standar untuk MongoDB. Memastikan host port sama dengan port kontainer memudahkan koneksi dari aplikasi lokal.

  • Keamanan: Sebaiknya ingatkan pembaca Anda untuk menggunakan password yang lebih kuat daripada "root" jika kontainer tersebut akan digunakan di lingkungan produksi.




Setelah melakukan konfigurasi pada jendela Optional settings dengan menentukan nama kontainer Mongo20260113, memetakan host port ke 27017, serta mengatur kredensial melalui Environment variables, kontainer berhasil dijalankan dan kini berstatus aktif (ditandai dengan indikator hijau). Pada daftar Containers, terlihat bahwa MongoDB berjalan berdampingan dengan layanan lain seperti Redis dan MariaDB, lengkap dengan Container ID unik 8259bc310c24 yang memastikan instance basis data tersebut siap digunakan untuk proses pengembangan lebih lanjut.



Setelah melakukan konfigurasi pada jendela Optional settings dengan menentukan nama kontainer Mongo20260113, memetakan host port ke 27017, serta mengatur kredensial akses melalui environment variables, kontainer berhasil dijalankan dan kini berstatus aktif dengan ID unik 8259bc310c24. Untuk memudahkan pengelolaan data secara visual, Anda dapat mengunduh MongoDB Compass (GUI) versi stabil melalui situs resmi MongoDB, yang tersedia untuk platform Windows dalam format paket .exe. Kombinasi penggunaan Docker untuk menjalankan database dan MongoDB Compass sebagai alat bantu manajemen akan sangat mempercepat alur kerja pengembangan aplikasi Anda.



Setelah berhasil mengonfigurasi kontainer Docker bernama Mongo20260113 dengan pemetaan port 27017 serta pengaturan kredensial melalui environment variables MONGO_INITDB_ROOT_USERNAME dan PASSWORD bernilai root, langkah selanjutnya adalah mengintegrasikannya dengan alat manajemen visual. Anda dapat mengunduh MongoDB Compass (GUI) versi stabil untuk Windows, lalu melakukan koneksi baru dengan metode autentikasi Username/Password. Dengan memasukkan username dan password yang telah disetel sebelumnya, serta menggunakan URI koneksi mongodb://root:****@localhost:27017/, Anda dapat mengelola basis data MongoDB yang berjalan di dalam kontainer secara langsung dan efisien melalui antarmuka grafis yang intuitif.

Proses dimulai dengan mengonfigurasi kontainer bernama Mongo20260113 di Docker Desktop, di mana kita memetakan host port ke 27017 dan menetapkan kredensial admin melalui variabel lingkungan MONGO_INITDB_ROOT_USERNAME serta ROOT_PASSWORD dengan nilai root. Setelah kontainer berjalan aktif dengan ID 8259bc310c24, langkah selanjutnya adalah mengunduh dan menginstal MongoDB Compass versi stabil untuk Windows. Pada tahap koneksi, pilih metode autentikasi Username/Password dan masukkan kredensial root yang telah dibuat sebelumnya ke dalam format URI mongodb://root:*****@localhost:27017/. Begitu tombol Save & Connect ditekan, Anda akan mendapatkan akses penuh ke antarmuka grafis untuk mengelola koleksi data, melihat log sistem, dan melakukan operasi database secara real-time.

1. Persiapan Awal

Pastikan:

  • MongoDB sudah berjalan di localhost via Docker.

  • MongoDB Compass sudah terhubung ke:

    mongodb://localhost:27017

Saat berhasil terhubung, kamu akan melihat database bawaan:

  • admin

  • config

  • local

Database ini adalah system database, jangan digunakan untuk latihan.

2. Membuat Database dan Collection Pertama

Langkah:

  1. Buka MongoDB Compass

  2. Klik Create Database

  3. Isi:

    • Database Name:

      training
    • Collection Name:

      users
  4. Klik Create Database





Alur dimulai dengan menjalankan kontainer mongo:latest di Docker Desktop yang diberi nama Mongo20260113, dengan memetakan host port ke 27017 serta menetapkan kredensial admin melalui environment variables MONGO_INITDB_ROOT_USERNAME dan ROOT_PASSWORD bernilai root. Setelah kontainer aktif dengan ID 8259bc310c24, Anda dapat mengunduh MongoDB Compass (GUI) versi stabil untuk Windows dan melakukan koneksi menggunakan metode autentikasi Username/Password dengan URI mongodb://root:****@localhost:27017/. Begitu terhubung, Anda dapat memantau log sistem seperti startup_log secara visual serta melakukan operasi manajemen basis data, seperti membuat koleksi baru bernama users di dalam database training, yang membuat proses pengelolaan data menjadi jauh lebih praktis dan efisien.

3. Insert Data (Satu Dokumen)

  1. Buka:

    training → users
  2. Klik Insert Document

  3. Pilih JSON View

  4. Masukkan data berikut:







4. Insert Banyak Dokumen Sekaligus

Klik Insert Document, lalu masukkan:


5. Query Dasar (Find)

Buka tab Find.

Menampilkan semua data:


Menampilkan user yang aktif:

Menampilkan user yang non-aktif:



Mencari berdasarkan isi array:



6. Projection (Menampilkan Field Tertentu)

Pada kolom Project, masukkan:

7. Update Data (Cara Aman)

Buka tab Update.

Filter:

{ "_id": "user_002" }


Update:



{ "$set": { "active": false } }

Gunakan $set agar tidak menimpa seluruh dokumen.

8. Menambahkan Sub-Document (Embedded Object)

Masih di tab Update, gunakan:

{ "$set": { "profile": { "age": 17, "city": "Bandung" } } }




Ini contoh model NoSQL yang baik:
  • Tidak perlu join
  • Atomic
  • Aman tanpa transaksi

9. Membuat Index (Wajib di Dunia Nyata)

Masuk ke tab Indexes --> Create Index

Untuk memastikan performa aplikasi yang optimal, Anda juga dapat mengonfigurasi Index pada bidang tertentu, misalnya membuat unique index pada kolom email dengan urutan ascending (1), guna mencegah duplikasi data dan mempercepat proses pencarian.

Index unik untuk email:

Centang:

  • Unique

Manfaat:

  • Mencegah data duplikat

  • Query lebih cepat

  • Sangat penting di production


Mana yang HARUS kamu pilih ?

Pilihan 1 (asc) dan -1 (desc) menentukan arah pengurutan index.
2dsphere digunakan untuk data lokasi, sedangkan text untuk pencarian teks.
Untuk awal dan kompatibilitas dengan Amazon DocumentDB, gunakan ascending atau descending index.

Kebutuhan                    Pilihan
Cari data biasa            1 (asc)
Urutkan terbaru            -1 (desc)
Lokasi GPS            2dsphere
Search teks            text



10. Aggregation Sederhana

Masuk ke tab Aggregations.

Pipeline:

[ { "$match": { "active": true } }, { "$sort": { "createdAt": -1 } }, { "$limit": 5 } ]

Pipeline ini:
✔ Sederhana
✔ Aman untuk Amazon DocumentDB
✔ Umum dipakai di aplikasi backend



11. Menghapus Data (Hati-Hati)

Sebelum delete:

  1. Jalankan Find dulu

  2. Pastikan filter benar

Contoh delete user non-aktif:

{ "active": false }

*MongoDB tidak punya “undo”.


12. Prinsip Penting yang Harus Diingat

  • Satu dokumen = satu entitas bisnis

  • Embed data lebih baik daripada join

  • Hindari:

    • Transaction multi dokumen

    • Change streams

    • Aggregation kompleks

  • Gunakan MongoDB 4.4 agar kompatibel dengan Amazon DocumentDB




Comments

Popular posts from this blog

Numpang Kerja Remote dari Bandung Creative Hub

Debugging PHP Web dengan XDebug di Intellij IDEA (PHP STORM)

Numpang Kerja Remote dari Bandung Digital Valley