Di MongoDB db.collection.remove()
metode menghapus dokumen dari koleksi. Dengan kata lain, itu akan menghapusnya.
collection
bagian adalah nama koleksi yang digunakan untuk menghapus dokumen.
Anda dapat menghapus semua dokumen, beberapa dokumen, atau satu dokumen sesuai kebutuhan.
Hapus Semua Dokumen
Dalam contoh ini, kami menghapus semua dokumen dari koleksi yang disebut employees
:
db.employees.remove({})
Hasil:
WriteResult({ "nRemoved" : 5 })
Hasilnya menunjukkan kepada kita bahwa lima dokumen telah dihapus.
Hapus Dokumen yang Dipilih
Dalam contoh ini, kami hanya menghapus beberapa dokumen.
Pertama, mari kita isi kembali koleksi karyawan kita:
db.employees.insertMany([
{ _id: 1, name: "Sandy", salary: 55000 },
{ _id: 2, name: "Sarah", salary: 128000 },
{ _id: 3, name: "Fritz", salary: 25000 },
{ _id: 4, name: "Chris", salary: 45000 },
{ _id: 5, name: "Beck", salary: 82000 }
])
Sekarang, mari kita singkirkan semua karyawan yang berpenghasilan lebih dari 80.000 per tahun.
db.employees.remove({ "salary": { $gt: 80000 } })
Hasil:
WriteResult({ "nRemoved" : 2 })
Kali ini hanya dua dokumen yang dihapus.
Mari kita lihat koleksinya.
db.employees.find()
Hasil:
{ "_id" : 1, "name" : "Sandy", "salary" : 55000 } { "_id" : 3, "name" : "Fritz", "salary" : 25000 } { "_id" : 4, "name" : "Chris", "salary" : 45000 }
Seperti yang diharapkan, dua penerima gaji tertinggi telah meninggalkan perusahaan.
Hapus Satu Dokumen
Ada beberapa cara untuk menghapus satu dokumen dari koleksi. Metode yang Anda gunakan akan tergantung pada apa yang perlu Anda lakukan.
Anda dapat:
- Menghapus dokumen tertentu
- Gunakan
justOne
parameter
Menghapus Dokumen Tertentu
Jika Anda perlu menghapus dokumen tertentu, Anda dapat menentukan _id
document dokumen tersebut nilai untuk menghapus dokumen tertentu.
Jadi jika kita ingin menghapus say, Fritz dari koleksi di atas, kita bisa menentukan _id
-nya nilai 3
. Seperti ini:
db.employees.remove({ "_id": 3 })
Hasil:
WriteResult({ "nRemoved" : 1 })
Dan mari kita periksa kembali koleksinya:
db.employees.find()
Hasil:
{ "_id" : 1, "name" : "Sandy", "salary" : 55000 } { "_id" : 4, "name" : "Chris", "salary" : 45000 }
Seperti yang diharapkan, Fritz sekarang telah menghilang.
Gunakan justOne
Parameter
Sebagai alternatif, Anda dapat menggunakan justOne
parameter untuk membatasi penghapusan hanya satu dokumen. Ini akan menghapus dokumen pertama yang cocok dengan kriteria penghapusan.
Untuk mendemonstrasikan poin ini sejelas mungkin, mari hapus semua dokumen yang tersisa dari koleksi, lalu isi kembali:
db.employees.remove({})
db.employees.insertMany([
{ _id: 1, name: "Sandy", salary: 55000 },
{ _id: 2, name: "Sarah", salary: 128000 },
{ _id: 3, name: "Fritz", salary: 25000 },
{ _id: 4, name: "Chris", salary: 45000 },
{ _id: 5, name: "Beck", salary: 82000 }
])
Oke, jadi kita tahu ada lima dokumen dalam koleksi kita.
Sekarang mari kita gunakan justOne
parameter untuk menghapus satu dokumen.
db.employees.remove({}, "justOne: true")
Hasil:
WriteResult({ "nRemoved" : 1 })
Dan mari kita periksa koleksi untuk melihat dokumen mana yang dihapus.
db.employees.find()
Hasil:
{ "_id" : 2, "name" : "Sarah", "salary" : 128000 } { "_id" : 3, "name" : "Fritz", "salary" : 25000 } { "_id" : 4, "name" : "Chris", "salary" : 45000 } { "_id" : 5, "name" : "Beck", "salary" : 82000 }
Seperti yang diharapkan, dokumen pertama telah dihapus.
justOne
parameter juga memiliki sintaks lain. Anda juga dapat menggunakannya di dalam dokumen. Anda harus melakukan ini jika ingin meneruskan argumen lain ke metode ini.
Ini contohnya.
db.employees.remove(
{},
{
justOne: true,
writeConcern: { w: "majority", wtimeout: 3000 },
collation: { locale: "de", strength: 1 }
}
)
Hasil:
WriteResult({ "nRemoved" : 1 })
Dan mari kita lihat lagi koleksinya
db.employees.find()
Hasil:
{ "_id" : 3, "name" : "Fritz", "salary" : 25000 } { "_id" : 4, "name" : "Chris", "salary" : 45000 } { "_id" : 5, "name" : "Beck", "salary" : 82000 }
Seperti yang diharapkan, dokumen berikutnya telah dihapus.
Informasi Lebih Lanjut
Lihat dokumentasi MongoDB untuk informasi lebih lanjut.