Di MongoDB db.collection.deleteOne()
metode menghapus satu dokumen dari koleksi. Dengan kata lain, itu menghapusnya.
collection
bagian adalah nama koleksi yang digunakan untuk menghapus dokumen.
Contoh
Mari kita isi koleksi yang disebut employees
dengan lima dokumen:
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 gunakan db.collection.deleteOne()
untuk menghapus salah satu dokumen tersebut.
db.employees.deleteOne({ "_id": 4 })
Hasil:
{ "acknowledged" : true, "deletedCount" : 1 }
Ini menghapus nomor karyawan 4.
Mari kita lihat koleksinya untuk diverifikasi.
db.employees.find()
Hasil:
{ "_id" : 1, "name" : "Sandy", "salary" : 55000 } { "_id" : 2, "name" : "Sarah", "salary" : 128000 } { "_id" : 3, "name" : "Fritz", "salary" : 25000 } { "_id" : 5, "name" : "Beck", "salary" : 82000 }
Kita bisa melihat bahwa karyawan nomor 4 sudah tidak ada lagi di koleksi.
Menggunakan Kondisi yang Lebih Luas
Pada contoh sebelumnya, kami menggunakan _id
bidang karyawan yang ingin kami hapus. Karena _id
field adalah pengidentifikasi unik untuk setiap dokumen, ini memungkinkan kami untuk menghapus dokumen persis yang ingin kami hapus.
Dimungkinkan juga untuk menghapus satu dokumen tanpa harus memastikan yang mana yang dihapus. Misalnya, Anda dapat menggunakan filter luas yang mengembalikan banyak dokumen, tetapi hanya menghapus dokumen pertama dari hasil tersebut.
Misalnya, kami dapat memfilter menurut karyawan yang berpenghasilan lebih dari 80.000 per tahun, lalu menghapus dokumen pertama dalam grup tersebut.
db.employees.deleteOne({ "salary": { $gt: 80000 } })
Hasil:
{ "acknowledged" : true, "deletedCount" : 1 }
Dalam contoh ini, hanya satu dokumen yang dihapus, padahal ada dua dokumen yang memenuhi kriteria.
Kita bisa melihat koleksinya untuk melihat mana yang sudah dihapus.
db.employees.find()
Hasil:
{ "_id" : 1, "name" : "Sandy", "salary" : 55000 } { "_id" : 3, "name" : "Fritz", "salary" : 25000 } { "_id" : 5, "name" : "Beck", "salary" : 82000 }
Kami bahkan dapat mengambil langkah lebih jauh dan menghapus semua filter, yang berarti bahwa ia memilih dari semua dokumen dalam koleksi.
db.employees.deleteOne({})
Hasil:
{ "acknowledged" : true, "deletedCount" : 1 }
Sekali lagi kami dapat memeriksa koleksi untuk melihat mana yang telah dihapus.
db.employees.find()
Hasil:
{ "_id" : 3, "name" : "Fritz", "salary" : 25000 } { "_id" : 5, "name" : "Beck", "salary" : 82000 }
Seperti yang diharapkan, dokumen pertama telah dihapus.
Informasi Lebih Lanjut
db.collection.deleteOne()
metode ini juga menerima parameter opsional seperti collation
, hint
, dan writeConcern
.
Lihat dokumentasi MongoDB untuk informasi lebih lanjut.