MongoDB Dokumen Kueri: db.collection.find() dengan Contoh

โšก Ringkasan Cerdas

MongoDB Operasi Query Document mengambil data dari sebuah koleksi menggunakan fungsi db.collection.find(). Metode ini secara default mengembalikan semua dokumen, menerima kriteria filter seperti kecocokan field dan operator $gt, serta memformat hasilnya dengan perintah forEach(printjson).

  • ๐Ÿ” Fungsi find(): Metode db.collection.find() mengambil dokumen dari sebuah MongoDB koleksi, mengembalikan semua dokumen jika tidak ada filter yang diberikan.
  • ๐ŸŽฏ Kriteria Penyaringan: Meneruskan objek kueri, seperti {EmployeeName: โ€œSmithโ€}, hanya akan mengembalikan dokumen yang sesuai dengan kondisi tersebut.
  • โž• Pertanyaan Operatorsi: Operator seleksi seperti $gt, $lt, dan $in mempersempit hasil, misalnya mencari karyawan dengan id lebih besar dari 2.
  • ๏ธ Readable Keluaran: Menggabungkan forEach(printjson) akan mencetak setiap dokumen yang dikembalikan dalam format JSON yang rapi.
  • ๐Ÿงพ Proyeksi: Argumen kedua pada fungsi find() memilih bidang mana yang akan disertakan atau dikecualikan dari hasil.

Cara mengambil atau mengambil data dari a MongoDB database dilakukan dengan menggunakan MongoDB pertanyaan. Saat melakukan operasi kueri, seseorang juga bisa menggunakan kriteria atau kondisi yang bisa digunakan untuk mengambil data tertentu dari database.

MongoDB menyediakan fungsi yang disebut db.koleksi.temukan() yang digunakan untuk pengambilan dokumen dari a MongoDB database.

Selama ini MongoDB tutorial kueri, Anda akan melihat bagaimana fungsi ini digunakan dalam berbagai cara untuk mencapai tujuan pengambilan dokumen.

Apa itu db.collection.find()? MongoDB?

Metode db.collection.find() adalah cara utama untuk membaca dokumen dari sebuah MongoDB Saat Anda memanggilnya tanpa argumen apa pun, ia akan mengembalikan semua dokumen dalam koleksi. Saat Anda memberikan objek kueri, ia hanya akan mengembalikan dokumen yang sesuai dengan kriteria yang diberikan, sehingga Anda dapat mengambil data yang Anda butuhkan secara tepat.

Metode ini mengembalikan kursor, yang merupakan penunjuk ke kumpulan hasil, bukan ke dokumen itu sendiri. Anda biasanya melakukan perulangan melalui kursor untuk menampilkan hasilnya, seringkali dengan forEach(printjson) untuk menampilkan setiap dokumen dalam format JSON yang mudah dibaca. Jika Anda hanya membutuhkan satu catatan, MongoDB juga menyediakan findOne(), yang mengembalikan dokumen pertama yang cocok alih-alih kursor. Bersama-sama, find() dan findOne() mencakup sebagian besar operasi baca dalam sebuah MongoDB basis data, mulai dari mengambil seluruh koleksi hingga memfilter berdasarkan nilai bidang tertentu.

MongoDB Kueri Dasar Operations

Dasar MongoDB operator kueri mencakup operasi sederhana seperti memasukkan semua dokumen ke dalam a MongoDB koleksi. Mari kita lihat contoh db.collection.find tentang bagaimana kita dapat mencapai hal ini.

Semua kode kita akan dijalankan di MongoDB JavaNaskah cangkang perintah. Anggaplah kita memiliki koleksi bernama 'Employee' di file MongoDB database dan kami menjalankan perintah di bawah ini.

MongoDB Kueri Dasar Operations
MongoDB Operasi kueri dasar

Code Penjelasan:

  1. Karyawan adalah nama koleksi di MongoDB Database
  2. The MongoDB find query adalah fungsi bawaan yang digunakan untuk mengambil dokumen dalam koleksi.

Jika perintah berhasil dijalankan, Output berikut akan ditampilkan untuk MongoDB temukan contoh

Keluaran:

MongoDB Kueri Dasar Operations

Outputnya menunjukkan semua dokumen yang ada dalam koleksi.

Kami juga dapat menambahkan kriteria pada kueri kami sehingga kami dapat mengambil dokumen berdasarkan kondisi tertentu.

MongoDB Contoh Kueri โ€“ 1

Mari kita lihat beberapa MongoDB contoh kueri tentang bagaimana kita dapat mencapai hal ini.

db.Employee.find({EmployeeName : "Smith"}).forEach(printjson);

Code Penjelasan:

  1. Di sini kami ingin mencari Karyawan yang bernama โ€œSmithโ€ di koleksi, maka kami memasukkan kriteria filter sebagai Nama Karyawan : โ€œSmithโ€

Jika perintah berhasil dijalankan, Output berikut akan ditampilkan

Keluaran:

MongoDB Contoh Kueri

Outputnya menunjukkan bahwa hanya dokumen yang berisi โ€œSmithโ€ sebagai Nama Karyawan yang dikembalikan.

MongoDB Contoh Kueri โ€“ 2

Sekarang dalam hal ini MongoDB tutorial query, mari kita lihat contoh kode lain yang menggunakan lebih dari kriteria pencarian. Ketika kriteria ini disertakan, ia sebenarnya mencari dokumen-dokumen yang nilai bidangnya lebih besar dari nilai yang ditentukan.

db.Employee.find({Employeeid : {$gt:2}}).forEach(printjson);

Code Penjelasan:

  1. Di sini kami ingin mencari semua Karyawan yang idnya lebih besar dari 2. $gt disebut operator pemilihan kueri, dan maksudnya adalah menggunakan ekspresi lebih besar dari.

Jika MongoDB perintah select fields berhasil dijalankan, Output berikut akan ditampilkan

Keluaran:

MongoDB Contoh Kueri

Semua dokumen yang id Karyawannya lebih besar dari 2 dikembalikan.

MongoDB Pertanyaan Operatorso

MongoDB Fungsi ini memfilter dokumen menggunakan operator pemilihan kueri di dalam kriteria find(). Operator ini memungkinkan Anda mencocokkan rentang, daftar, dan negasi, bukan hanya nilai persis. Tabel di bawah ini mencantumkan operator yang paling umum:

Operator Arti Example
$gt Lebih besar dari {ID Karyawan: {$gt: 2}}
$lt Less dari {ID Karyawan: {$lt: 5}}
$gte Lebih dari atau sama dengan {usia: {$gte: 18}}
$ lte Less dari atau sama dengan {usia: {$lte: 60}}
$ne Tidak sebanding dengan {status: {$ne: โ€œaktifโ€}}
$di dalam Cocok dengan nilai apa pun dalam sebuah daftar {departemen: {$in: [โ€œHRโ€,โ€ITโ€]}}

Anda juga dapat menggabungkan kondisi dengan $and dan $or untuk membangun kueri yang lebih tepat. Memilih operator yang tepat akan menjaga efisiensi kueri dan hanya mengembalikan dokumen yang dibutuhkan aplikasi Anda.

Cara Menggunakan Proyeksi dengan find()

Secara default, fungsi find() mengembalikan seluruh dokumen, termasuk semua field. Seringkali Anda hanya membutuhkan beberapa field saja, seperti nama atau id. MongoDB memungkinkan Anda mengontrol ini dengan proyeksi, yang merupakan argumen kedua yang diteruskan ke find() yang mencantumkan bidang yang akan disertakan atau dikecualikan.

Untuk hanya menyertakan kolom tertentu, atur nilainya menjadi 1 pada objek proyeksi. Kueri berikut hanya mengembalikan kolom EmployeeName untuk setiap dokumen:

db.Employee.find({}, {EmployeeName: 1}).forEach(printjson);

MongoDB selalu mengembalikan kolom _id kecuali Anda mengecualikannya secara eksplisit. Untuk menyembunyikannya, atur _id ke 0:

db.Employee.find({}, {EmployeeName: 1, _id: 0}).forEach(printjson);

Anda juga dapat mengecualikan kolom alih-alih menyertakannya dengan mengatur nilainya menjadi 0. Misalnya, kueri di bawah ini mengembalikan semua kolom kecuali Employeeid:

db.Employee.find({}, {Employeeid: 0}).forEach(printjson);

Perlu diingat bahwa Anda tidak dapat mencampur inklusi dan eksklusi dalam proyeksi yang sama, kecuali untuk bidang _id. Menggunakan proyeksi mengurangi jumlah data yang ditransfer dari server, yang membuat kueri lebih cepat dan respons lebih mudah dibaca, terutama pada dokumen besar.

Pertanyaan Umum Demo Slot

Fungsi find() mengembalikan kursor ke semua dokumen yang cocok dengan kueri, sehingga dapat mengembalikan banyak hasil. Fungsi findOne() hanya mengembalikan dokumen pertama yang cocok sebagai objek tunggal, atau null jika tidak ada yang cocok.

Gabungkan fungsi sort() dan limit() dengan kursor find(). Misalnya, find().sort({age:1}).limit(5) akan mengembalikan lima catatan termuda. Gunakan 1 untuk urutan menaik dan -1 untuk urutan menurun pada fungsi sort().

Gunakan countDocuments() dengan filter yang sama, misalnya db.Employee.countDocuments({EmployeeName:โ€Smithโ€}). Fungsi ini mengembalikan jumlah dokumen yang cocok tanpa perlu mengambilnya, yang lebih cepat daripada membaca dan menghitung seluruh hasil pencarian.

AI dapat mengubah permintaan dalam bahasa biasa menjadi kueri find() dengan operator dan proyeksi yang tepat, serta menjelaskan setiap bagiannya. Selalu uji kueri pada data sampel sebelum menjalankannya di lingkungan produksi.

Ya. AI dapat membaca rencana kueri, mendeteksi indeks yang hilang atau operator yang tidak efisien, dan menyarankan indeks atau filter yang ditulis ulang. Ini membantu pengembang meningkatkan kinerja find() pada koleksi besar dengan lebih cepat.

Ringkaslah postingan ini dengan: