MongoDB - Query Document

Hai teman-teman, para ahli basisdata masa depan! Hari ini, kita akan masuk ke dunia yang menarik MongoDB dan belajar bagaimana untuk mengquery dokumen. Sebagai guru komputer yang ramah di lingkungan Anda, saya disini untuk mengorbit Anda dalam perjalanan ini, langkah demi langkah. Jadi, ambil topi keras virtual Anda, dan mari kita mulai mengeksplorasi!

MongoDB - Query Document

Metode find()

Metode find() mirip dengan pengembaraan mencari harta karun di MongoDB. Itu membantu kita mencari dokumen dalam suatu koleksi. Bayangkan Anda memiliki koleksi "students" di basisdata sekolah Anda. mari kita lihat bagaimana kita bisa menggunakan find() untuk mengambil informasi.

db.students.find()

Baris kode sederhana ini akan mengembalikan semua dokumen dalam koleksi "students". Itu seperti bertanya, "Tampilkan semua murid!"

Tapi, apa bila kita ingin lebih spesifik? Katakanlah kita ingin menemukan semua murid bernama "John":

db.students.find({name: "John"})

Query ini akan mengembalikan semua dokumen dimana field nama adalah "John". Itu seperti bertanya, "Bisakah Anda menunjukkan semua John di kelas?"

Metode pretty()

Sekarang, mari kita membuat hasil kita tampak rapi dan rapi dengan metode pretty(). Itu seperti memberikan penampilan mewah bagi data kita!

db.students.find().pretty()

Ini akan menampilkan hasil dalam bentuk yang diformat, membuatnya mudah untuk kita baca. Itu seperti mengatur kamar yang kacau Anda - tiba-tiba semuanya terlihat jauh lebih baik!

Metode findOne()

kadang-kadang, kita hanya ingin menemukan satu dokumen. Itu di mana findOne() berguna. Itu seperti memilih buah pertama dari pohon.

db.students.findOne({name: "Sarah"})

Ini akan mengembalikan dokumen pertama yang ditemukan dimana nama adalah "Sarah". Jika ada beberapa Sarah, itu hanya akan menunjukkan yang pertama yang ditemui.

Ekivalen klausa WHERE RDBMS di MongoDB

Sekarang, mari kita bandingkan query MongoDB dengan klausa WHERE SQL. Itu seperti menerjemahkan antara dua bahasa!

Klausa WHERE SQL Ekivalen MongoDB
WHERE name = "John" {name: "John"}
WHERE age > 25 {age: {$gt: 25}}
WHERE age >= 25 {age: {$gte: 25}}
WHERE age < 25 {age: {$lt: 25}}
WHERE age <= 25 {age: {$lte: 25}}
WHERE age != 25 {age: {$ne: 25}}

AND di MongoDB

Di MongoDB, kita dapat mengkombinasikan kondisi menggunakan logika AND. Itu seperti mengatakan, "Saya ingin ini DAN itu."

db.students.find({name: "John", age: 20})

Query ini akan menemukan semua dokumen dimana nama adalah "John" DAN umur adalah 20.

OR di MongoDB

kadang-kadang kita ingin menemukan dokumen yang cocok dengan salah satu kondisi atau yang lain. MongoDB menutupi kita!

db.students.find({$or: [{name: "John"}, {age: 20}]})

Query ini akan menemukan semua dokumen dimana nama adalah "John" ATAU umur adalah 20.

Menggunakan AND dan OR bersamaan

Kita bahkan dapat mengkombinasikan kondisi AND dan OR. Itu seperti membuat peta harta karun yang kompleks!

db.students.find({
grade: "A",
$or: [{name: "John"}, {age: 20}]
})

Query ini akan menemukan semua dokumen dimana nilai adalah "A" DAN (nama adalah "John" ATAU umur adalah 20).

NOR di MongoDB

NOR adalah seperti mengatakan "bukan ini dan bukan itu". Itu kebalikan dari OR.

db.students.find({
$nor: [{name: "John"}, {age: 20}]
})

Query ini akan menemukan semua dokumen dimana nama bukan "John" DAN umur bukan 20.

NOT di MongoDB

Akhirnya, kita memiliki operator NOT, yang seperti mengatakan "apa saja kecuali ini".

db.students.find({
name: {$not: {$eq: "John"}}
})

Query ini akan menemukan semua dokumen dimana nama bukan "John".

Dan begitu juga, teman-teman saya! Kita telah berpergian melalui negeri query MongoDB, dari pencarian sederhana hingga operasi logika kompleks. Ingat, latihan membuat sempurna, jadi jangan takut untuk mencoba query ini. Siapa tahu? Anda mungkin menemukan beberapa harta karun tersembunyi di data Anda!

Sebelum kita selesai, mari kita punya quiz cepat. Bisakah Anda menulis query untuk menemukan semua murid yang berusia 18 tahun ATAU bernama "Emma" DAN memiliki nilai "B"? Cobalah, dan jangan lupa untuk menggunakan metode pretty() agar hasil Anda tampak rapi!

Selamat mencari, para master basisdata masa depan!

Credits: Image by storyset