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!

MongoDB - Home

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

  1. Penyimpanan berorientasi dokumen
  2. Kinerja tinggi
  3. Ketersediaan tinggi
  4. Mudah skala
  5. 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