Panduan Tutorial MongoDB: Panduan Awal untuk Database NoSQL
Hai teman-teman penggemar basis data! Saya sangat senang menjadi panduanmu dalam perjalanan menarik ke dunia MongoDB. Sebagai seseorang yang telah mengajar ilmu komputer selama lebih dari satu dekade, saya telah melihat banyak murid bercahaya saat mereka memahami kekuatan basis data NoSQL. Jadi, mari kita masuk dan membuat MongoDB teman terbaikmu!
Apa Itu MongoDB?
MongoDB adalah basis data NoSQL yang populer yang menyimpan data dalam dokumen fleksibel, mirip JSON. Tetapi tunggu, apa itu NoSQL? Bayangkan Anda mengatur lemari pakaian Anda. Basis data SQL tradisional seperti memiliki lemari dengan boks tetap - semua hal memiliki tempatnya, tapi itu tidak terlalu fleksibel. Basis data NoSQL, dari lainnya, seperti memiliki banyak kotak yang Anda dapat susun dan susun seperti yang Anda inginkan. Itu MongoDB!
Fitur Utama MongoDB
- Penyimpanan berorientasi dokumen
- Kinerja tinggi
- Ketersediaan tinggi
- Mudah skala
- Bahasa query kaya
Memulai Dengan MongoDB
Instalasi
Pertama-tama, mari kita instal MongoDB di mesin Anda. Pergi ke situs web resmi MongoDB dan unduh Community Server edisi untuk sistem operasi Anda. Setelah terinstal, Anda perlu memulai layanan MongoDB.
Di Windows, Anda dapat memulainya sebagai layanan. Di macOS atau Linux, Anda dapat menggunakan perintah berikut:
sudo service mongod start
Menyambung ke MongoDB
Sekarang kita sudah memiliki MongoDB yang berjalan, mari kita menyambung kepadanya. Kita akan menggunakan shell MongoDB untuk tutorial ini. Buka terminal Anda dan ketik:
mongo
Anda seharusnya melihat pesan selamat datang dan prompt. Selamat! Anda sekarang tersambung ke MongoDB.
Operasi Dasar MongoDB
Mari kita mulai dengan operasi dasar di MongoDB. Kita menyebutnya operasi CRUD: Create, Read, Update, dan Delete. Picturing ini sebagai empat grup makanan dasar operasi basis data!
Membuat Dokumen
Di MongoDB, kita memasukkan dokumen ke dalam koleksi. Koleksi seperti tabel di basis data SQL, tapi lebih fleksibel. Mari kita buat koleksi yang disebut "students" dan masukkan dokumen:
db.students.insertOne({
name: "John Doe",
age: 20,
major: "Computer Science",
grades: [85, 90, 92]
})
Ini membuat dokumen baru di koleksi "students". Catatlah bagaimana kita dapat mudah memasukkan array (grades) dalam dokumen kita? Itu adalah fleksibilitas MongoDB yang bekerja!
Membaca Dokumen
Untuk mengambil dokumen, kita gunakan metode find()
. Mari kita temukan semua siswa yang mengambil jurusan Computer Science:
db.students.find({ major: "Computer Science" })
Ini akan mengembalikan semua dokumen dimana bidang major adalah "Computer Science".
Memperbarui Dokumen
Butuh mengubah sesuatu? Gunakan updateOne()
atau updateMany()
. Mari kita naikkan umur John:
db.students.updateOne(
{ name: "John Doe" },
{ $set: { age: 21 } }
)
Operator $set
menentukan bidang yang akan diperbarui. Jika bidang itu tidak ada, itu akan diciptakan.
Menghapus Dokumen
Untuk menghapus dokumen, gunakan deleteOne()
atau deleteMany()
. Mari kita hapus semua siswa di bawah umur 18:
db.students.deleteMany({ age: { $lt: 18 } })
Operator $lt
berarti "kurang dari". MongoDB memiliki set operator kaya untuk query kompleks.
Query Tingkat Lanjut
Query bahasa MongoDB adalah kuat dan fleksibel. Mari kita lihat beberapa query tingkat lanjut.
Operator Query
MongoDB menyediakan berbagai operator untuk query kompleks. Berikut adalah tabel dari beberapa yang umum:
Operator | Deskripsi | Contoh |
---|---|---|
$eq | Cocok nilai yang sama dengan nilai yang ditentukan | { age: { $eq: 20 } } |
$gt | Cocok nilai yang lebih besar dari nilai yang ditentukan | { age: { $gt: 20 } } |
$lt | Cocok nilai yang kurang dari nilai yang ditentukan | { age: { $lt: 20 } } |
$in | Cocok nilai mana saja yang ditentukan dalam array | { age: { $in: [20, 21, 22] } } |
$and | Gabungkan klausal query dengan logika AND | { $and: [ { age: { $gt: 20 } }, { major: "Computer Science" } ] } |
$or | Gabungkan klausal query dengan logika OR | { $or: [ { age: { $lt: 20 } }, { major: "Physics" } ] } |
Pipeline Aggregasi
Pipeline aggregasi adalah alat kuat untuk analisis data. Itu memungkinkan Anda untuk memproses data dan mengembalikan hasil yang dihitung. Berikut adalah contoh sederhana:
db.students.aggregate([
{ $match: { major: "Computer Science" } },
{ $group: { _id: null, averageAge: { $avg: "$age" } } }
])
Pipeline ini pertama kali mencocokkan semua siswa Computer Science, kemudian menghitung usia rata-rata mereka.
Indexing di MongoDB
Indexing sangat penting untuk kinerja di dalam sistem basis data mana pun. Dalam MongoDB, Anda dapat membuat indeks untuk mendukung query Anda dan meningkatkan operasi baca. Berikut adalah cara membuat indeks sederhana:
db.students.createIndex({ name: 1 })
Ini membuat indeks ascending pada bidang "name". Sekarang, query yang mencari berdasarkan nama akan jauh lebih cepat!
Kesimpulan
Selamat! Anda telah mengambil langkah pertama ke dunia MongoDB. Kita telah menutupi operasi CRUD dasar, mengeksplor query tingkat lanjut, dan bahkan merendam kaki kita dalam indeks. Ingat, kunci untuk menjadi ahli MongoDB (atau teknologi apa pun) adalah latihan. Jangan takut untuk mencoba dan membuat kesalahan - itu adalah bagaimana kita belajar!
Saat Anda terus melanjutkan perjalanan Anda, Anda akan menemukan fitur yang lebih kuat MongoDB, seperti replikasi untuk ketersediaan tinggi, sharding untuk skala horizontal, dan kerangka kerja agregasi untuk pengolahan data kompleks. Dunia basis data NoSQL luas dan menarik, dan Anda sekarang dilengkapi untuk menjelajahinya lebih jauh.
Selamat coding, dan semoga dokumen Anda selalu terstruktur dengan baik dan query Anda cepat dan bercahaya!
Credits: Image by storyset