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

MongoDB hapus()

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.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Implementasi Pemberian Tag Sederhana dengan MongoDB

  2. MongoDB/NoSQL:Menyimpan Riwayat Perubahan Dokumen

  3. Argumen yang diteruskan harus berupa String tunggal 12 byte

  4. Sinkronkan MongoDB Melalui ssh

  5. mongodb 3.4.3 Izin ditolak wiredtiger_kv_engine.cpp 267 kesalahan dengan ubuntu 16