Panduan Tutorial MongoDB: Panduan untuk Pemula dalam Database NoSQL

Hai teman-teman penggemar basis data! Saya sangat gembira untuk menjadi panduanmu dalam perjalanan menarik ini ke dunia MongoDB. Sebagai seseorang yang telah mengajar ilmu komputer selama lebih dari satu dekade, saya telah melihat banyak siswa yang terangsang saat mereka memahami kekuatan basis data NoSQL. Jadi, mari kita masuk dan buat MongoDB temanmu yang baru!

MongoDB - Home

Apa Itu MongoDB?

MongoDB adalah basis data NoSQL yang populer yang menyimpan data dalam dokumen fleksibel, mirip dengan JSON. Tunggu, apa itu NoSQL? Well, bayangkan Anda sedang mengatur lemari pakaian Anda. Basis data SQL tradisional seperti memiliki kasemat dengan drawer tetap - semua hal memiliki tempatnya, tapi itu tidak terlalu fleksibel. Basis data NoSQL, sebaliknya, seperti memiliki banyak kotak yang Anda dapat susun danatur seperti yang Anda inginkan. Itu adalah MongoDB!

Fitur Utama MongoDB

  1. Penyimpanan berorientasi dokumen
  2. Kinerja tinggi
  3. Ketersediaan tinggi
  4. Skalabilitas mudah
  5. Bahasa query kaya

Memulai dengan MongoDB

Instalasi

Pertama-tama, mari kita instal MongoDB di mesinmu. Pergi ke situs web resmi MongoDB dan unduh edisi Community Server untuk sistem operasi Anda. Setelah diinstal, 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

Menyambungkan ke MongoDB

Sekarang kita sudah memiliki MongoDB yang berjalan, mari kita menyambungkan 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 fundamental di MongoDB. Kita menyebutnya operasi CRUD: Create, Read, Update, dan Delete. Picturing ini seperti empat grup makanan pokok operasi basis data!

Membuat Dokumen

Dalam 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 sisipkan dokumen:

db.students.insertOne({
name: "John Doe",
age: 20,
major: "Computer Science",
grades: [85, 90, 92]
})

Ini menciptakan dokumen baru di koleksi "students". Catatlah bagaimana kita dapat mudah menambahkan array (grades) di dalam dokumen kita? Itu adalah fleksibilitas MongoDB yang bekerja!

Membaca Dokumen

Untuk mengambil dokumen, kita gunakan metode find(). Mari kita temukan semua mahasiswa yang meminati "Computer Science":

db.students.find({ major: "Computer Science" })

Ini akan mengembalikan semua dokumen di mana field 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 field yang akan diperbarui. Jika field itu tidak ada, ia akan diciptakan.

Menghapus Dokumen

Untuk menghapus dokumen, gunakan deleteOne() atau deleteMany(). Mari kita hapus semua mahasiswa berusia di bawah 18:

db.students.deleteMany({ age: { $lt: 18 } })

Operator $lt berarti "kurang dari". MongoDB memiliki set operator yang kaya untuk query yang kompleks.

Query Tingkat Lanjut

Query bahasa MongoDB kuat dan fleksibel. Mari kita lihat beberapa query tingkat lanjut.

Operator Query

MongoDB menyediakan berbagai operator untuk query yang 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 lebih kecil dari nilai yang ditentukan { age: { $lt: 20 } }
$in Cocok nilai manapun 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 Agregasi

Pipeline agregasi 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-tama mencocokkan semua mahasiswa Computer Science, kemudian menghitung umur rata-rata mereka.

Pengindeksan di MongoDB

Pengindeksan sangat penting untuk kinerja di dalam sistem basis data apa 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 menciptakan indeks ascending pada field "name". Sekarang, query yang mencari berdasarkan nama akan jauh lebih cepat!

Kesimpulan

Selamat! Anda telah mengambil langkah pertama ke dunia MongoDB. Kita telah melihat dasar operasi CRUD, mengeksplor query tingkat lanjut, dan bahkan mencicipi pengindeksan. Ingat, kunci untuk menguasai MongoDB (atau teknologi apa pun) adalah praktik. Jangan takut untuk mencoba dan membuat kesalahan - itu adalah bagaimana kita belajar!

Dalam perjalanan Anda yang berlanjut, Anda akan menemukan fitur yang lebih kuat dari MongoDB, seperti replikasi untuk ketersediaan tinggi, sharding untuk skalabilitas horizontal, dan framework agregasi untuk pengolahan data kompleks. Dunia basis data NoSQL luas dan menarik, dan Anda sekarang dilengkapi untuk mengexplorekannya lebih jauh.

Hari coding yang menyenangkan, dan may your documents always be well-structured and your queries lightning-fast!

Credits: Image by storyset