Hitung() & Hapus() Fungsi di MongoDB dengan Contoh

โšก Ringkasan Cerdas

Fungsi Count() dan Remove() dalam MongoDB Melaporkan jumlah dokumen yang terdapat dalam sebuah koleksi dan menghapus dokumen dari koleksi tersebut. Metode count() mengembalikan total dokumen, sedangkan metode remove() menghapus semua dokumen atau hanya dokumen yang sesuai dengan kondisi tertentu.

  • ๐Ÿ”ข Hitung Dokumen: Metode count() mengembalikan jumlah dokumen dalam sebuah koleksi atau yang sesuai dengan sebuah kueri.
  • ๐ŸŽฏ Hitung dengan Filter: Meneruskan suatu kondisi ke fungsi count() hanya akan melaporkan dokumen yang memenuhi kondisi tersebut.
  • ๏ธ Hapus Dokumen: Metode remove() menghapus dokumen, baik semuanya atau hanya dokumen yang sesuai dengan objek kriteria.
  • ๏ธ Hapus Satu: Opsi justOne membatasi fungsi remove() untuk menghapus satu dokumen yang cocok saja, bukan semua dokumen yang cocok.
  • ๐Ÿ”„ Metode Modern: countDocuments() dan deleteMany() adalah pengganti terkini untuk count() dan remove() yang sudah usang.
  • ๏ธ Verifikasi Hasil: Setiap perintah akan mengembalikan hasil yang menunjukkan jumlah atau kuantitas dokumen yang dihapus.

Hitung() & Hapus() Fungsi di MongoDB

MongoDB Hitung() Fungsi

Konsep agregasi adalah melakukan komputasi terhadap hasil yang dikembalikan dalam kueri. Misalnya, Anda ingin mengetahui berapa jumlah dokumen dalam koleksi sesuai kueri yang diaktifkan MongoDB menyediakan fungsi count().

Contoh MongoDB Hitung() Fungsi

Mari kita lihat contohnya.

db.Employee.count()

Code Penjelasan:

  • Kode di atas menjalankan fungsi count.

Jika perintah berhasil dijalankan, Output berikut akan ditampilkan

Keluaran:

Contoh MongoDB Hitung() Fungsi

Outputnya dengan jelas menunjukkan bahwa ada 4 dokumen yang ada dalam koleksi.

MongoDB Hitung dengan Kondisi Kueri

Metode count() paling berguna ketika Anda memberikan kondisi kueri, sehingga hanya menghitung dokumen yang cocok dan bukan seluruh koleksi. Ini bermanfaat untuk laporan, seperti berapa banyak karyawan yang tergabung dalam suatu departemen atau berapa banyak pesanan yang masih terbuka.

Contoh berikut menghitung karyawan yang Employeeid-nya lebih besar dari 2:

db.Employee.count({Employeeid:{$gt:2}})

Inilah yang terjadi:

  • Objek kueri {Employeeid:{$gt:2}} bertindak sebagai filter, menggunakan operator $gt (lebih besar dari).
  • Fungsi count() hanya mengembalikan jumlah dokumen yang memenuhi filter.
  • Sisa koleksi lainnya diabaikan dalam perhitungan total.

Saat ini MongoDB Dalam berbagai versi, countDocuments() adalah metode yang direkomendasikan untuk penghitungan bersyarat, karena selalu mengembalikan hasil yang akurat. Kueri yang sama juga berfungsi dengannya:

db.Employee.countDocuments({Employeeid:{$gt:2}})

Kedua perintah tersebut mengembalikan satu angka, yang dapat Anda simpan dalam variabel atau tampilkan langsung. Menambahkan indeks yang sesuai pada kolom yang ditanyakan akan mempercepat penghitungan bersyarat pada koleksi data yang besar.

Melakukan Modifikasi

Dua kelas operasi lainnya di MongoDB adalah pernyataan pembaruan dan penghapusan.

Operasi pembaruan memungkinkan seseorang untuk mengubah data yang ada, dan operasi penghapusan memungkinkan penghapusan data dari koleksi.

Hapus() Fungsi di MongoDB

In MongoDB, yang db.koleksi.hapus() Metode ini digunakan untuk menghapus dokumen dari koleksi. Semua dokumen dapat dihapus dari koleksi atau hanya dokumen yang sesuai dengan kondisi tertentu.

Jika Anda hanya mengeluarkan perintah hapus, semua dokumen akan dihapus dari koleksi.

Contoh MongoDB Hapus() Fungsi

Contoh kode berikut memperagakan cara menghapus dokumen tertentu dari koleksi.

db.Employee.remove({Employeeid:22})

Code Penjelasan:

  • Kode di atas menggunakan fungsi hapus dan menentukan kriteria yang dalam hal ini adalah menghapus dokumen yang memiliki id Karyawan 22.

Jika perintah berhasil dijalankan, Output berikut akan ditampilkan

Keluaran:

Contoh MongoDB Hapus() Fungsi

Outputnya akan menunjukkan bahwa 1 dokumen telah dihapus.

Menghapus Semua Dokumen vs. Satu Dokumen

Metode remove() dapat menghapus semua dokumen yang cocok atau hanya satu, tergantung pada argumen yang Anda berikan. Memahami perbedaannya dapat mencegah kehilangan data secara tidak sengaja.

Untuk menghapus semua dokumen dalam sebuah koleksi, berikan kondisi kosong:

db.Employee.remove({})

Ini menghapus semua dokumen tetapi tetap menyimpan koleksinya. Untuk menghapus hanya dokumen yang sesuai dengan suatu kondisi, berikan objek kueri, seperti yang ditunjukkan sebelumnya dengan {Employeeid:22}. Jika beberapa dokumen cocok dan Anda hanya ingin menghapus yang pertama, tambahkan opsi justOne:

db.Employee.remove({EmployeeName:"Smith"}, {justOne:true})

Perbedaan utamanya adalah:

  • remove({}) menghapus semua dokumen dalam koleksi.
  • remove({condition}) menghapus setiap dokumen yang sesuai dengan kondisi tersebut.
  • remove({condition}, {justOne:true}) hanya menghapus dokumen pertama yang cocok.

Selalu periksa kembali kondisinya sebelum menjalankan perintah hapus, karena filter yang kosong atau salah dapat menghapus seluruh koleksi. Pada sistem modern MongoDB, deleteOne() dan deleteMany() menggantikan pola-pola ini dan membuat maksudnya lebih jelas.

Alternatif Modern untuk count() dan remove()

Baik count() maupun remove() adalah metode lama. Versi yang lebih baru MongoDB Para pengemudi menandai metode-metode tersebut sebagai usang dan memberikan pengganti yang lebih jelas. Tabel di bawah ini memetakan setiap metode lama ke padanannya di zaman modern:

Metode Warisan Penggantian Modern Tujuan
menghitung() hitungDokumen() Mengembalikan jumlah dokumen yang cocok secara akurat.
menghitung() estimatedDocumentCount() Mengembalikan jumlah perkiraan semua dokumen dengan cepat.
menghapus() hapusSatu() Menghapus dokumen pertama yang sesuai dengan filter.
menghapus() deleteMany() Menghapus semua dokumen yang sesuai dengan filter.

Untuk aplikasi baru, lebih baik gunakan metode modern ini. Metode ini memisahkan penghitungan dari estimasi dan penghapusan satu dokumen dari penghapusan banyak dokumen, yang membuat kueri lebih aman dan mudah dibaca. Fungsi count() dan remove() lama masih berfungsi untuk tutorial dan skrip lama.

Pertanyaan Umum Demo Slot

Fungsi `remove()` menghapus dokumen tetapi tetap menyimpan koleksi dan indeksnya. Fungsi `drop()` menghapus seluruh koleksi, termasuk setiap dokumen dan indeks. Gunakan `remove` untuk menghapus data dan `drop` untuk membuang seluruh koleksi.

Tidak. Fungsi remove() hanya menghapus dokumen di dalam koleksi. Koleksi, indeksnya, dan konfigurasinya tetap ada, sehingga Anda dapat memasukkan dokumen baru ke dalam koleksi yang sama setelahnya tanpa perlu membuatnya ulang.

Fungsi `count()` lama dapat mengembalikan nilai perkiraan pada klaster sharded setelah operasi yang gagal. Untuk total yang tepat, gunakan `countDocuments()`, yang menjalankan agregasi; gunakan `estimatedDocumentCount()` ketika kecepatan lebih penting daripada ketelitian.

AI dapat menerjemahkan permintaan sederhana menjadi penghitungan yang tepat atau kueri penghapusan dengan filter yang sesuai, dan memperingatkan Anda ketika perintah penghapusan akan memengaruhi setiap dokumen. Selalu tinjau sebelum menjalankannya.

Ya. AI dapat meninjau perintah remove atau deleteMany, menandai filter yang hilang yang akan menghapus seluruh koleksi, dan menyarankan untuk menambahkan kondisi atau mengambil cadangan sebelum menjalankannya.

Ringkaslah postingan ini dengan: