Langkah pertama dalam menggunakan MongoDB adalah memahami konsep dasar MongoDB dan model data (struktur data), serta mengetahui bagaimana data disimpan. Sebenarnya, MongoDB sangat mirip dengan MySQL, sehingga semua orang yang mengenal MySQL tidak akan mengalami kesulitan dalam mempelajari MongoDB.
Konsep Dasar MongoDB
Database
Database MongoDB sama seperti database MySQL.
Collection
Koleksi MongoDB merujuk pada kumpulan data dokumen, mirip dengan konsep tabel dalam MySQL.
Dokumen
Dokumen MongoDB, mirip dengan baris data dalam tabel MySQL, adalah data yang terstruktur dalam format JSON yang terdiri dari beberapa bidang, menjadikan struktur dokumen dalam MongoDB sangat fleksibel.
Bidang
Bidang dokumen MongoDB mirip dengan konsep bidang dalam tabel MySQL, mewakili data spesifik yang akan disimpan, dengan setiap bidang memiliki tipe datanya sendiri.
Indeks
Indeks MongoDB mirip dengan indeks MySQL, dengan tujuan untuk meningkatkan efisiensi kueri.
Agregasi
Konsep agregasi MongoDB mirip dengan analisis agregasi Group by/Count/Sum dalam MySQL, digunakan untuk analisis statistik data.
Perbandingan Konsep antara MongoDB dan MySQL
MYSQL | MongoDB |
---|---|
Database | Database |
Tabel | Koleksi |
Baris | Dokumen |
Kolom | Bidang Dokumen |
Indeks | Indeks |
Agregasi (misalnya, group by) | Agregasi |
Secara dasarnya, konsep-konsep MongoDB dapat dipasangkan dengan MySQL, sehingga MongoDB adalah struktur data non-relasional yang paling mirip dengan basis data relasional (NoSQL).
Data Dokumen MongoDB
Sebuah dokumen secara sederhana merupakan struktur JSON yang terdiri dari beberapa bidang, masing-masing dengan tipe datanya sendiri. Saat mengembangkan dengan MongoDB, fokusnya sebagian besar adalah pada bagaimana mendesain struktur dokumen, mirip dengan bagaimana inti penggunaan MySQL melibatkan desain struktur tabel.
Contoh data dokumen MongoDB:
{
"_id": "5cf0029caff5056591b0ce7d",
"firstname": "Jane",
"lastname": "Wu",
"address": {
"street": "1 Circle Rd",
"city": "Los Angeles",
"state": "CA",
"zip": "90404"
},
"hobbies": ["berenang", "coding"]
}
Dapat berupa struktur JSON yang bertingkat secara sembarangan, sesuatu yang tidak dapat dicapai oleh struktur tabel MySQL. Bidang _id
bertindak sebagai kunci utama dokumen, dan jika Anda tidak menentukan nilai tertentu, MongoDB akan menghasilkan nilai unik secara acak.
Perbedaan terbesar antara struktur data MongoDB dan tabel MySQL adalah bahwa MongoDB tidak memerlukan definisi struktur dokumen sebelumnya. Dengan MongoDB, Anda dapat langsung memasukkan data JSON ke dalam koleksi tanpa perlu skema yang telah ditentukan sebelumnya. Setiap kali Anda menulis data JSON ke dalam koleksi MongoDB, formatnya dapat berbeda, memungkinkan bidang ditambahkan atau dihapus sesuai keinginan.
Catatan: Meskipun struktur dokumen MongoDB sangat fleksibel dan dapat menampung berbagai format data untuk setiap entri, dalam aplikasi praktis, struktur data dalam sebuah koleksi biasanya seragam. Jika tidak demikian, jika format setiap entri berbeda dalam koleksi, memeliharanya akan menjadi mimpi buruk karena Anda tidak akan tahu format data yang diambil setiap kali.