MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

MongoDB hapusSatu()

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.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB:keluaran 'id' bukan '_id'

  2. Membuat hubungan Kunci Asing di Mongoose

  3. banyak ke banyak hubungan dengan nosql (mongodb dan luwak)

  4. Mencantumkan semua koleksi dalam database mongo dalam skrip nodejs

  5. Bagaimana urutan indeks gabungan penting dalam kinerja MongoDB?