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

Cara Menghapus Dokumen MongoDB dengan Mengimpor File

Mulai mongoimport versi 100.0.0, Anda dapat menghapus dokumen di MongoDB berdasarkan file yang diimpor. Untuk melakukannya, gunakan delete modus.

Saat Anda menggunakan delete mode, jika dokumen yang diimpor memiliki _id yang sama nilai sebagai yang sudah ada dalam koleksi yang Anda impor, dokumen yang ada akan dihapus.

Anda juga dapat menentukan bidang atau bidang lain (selain _id bidang) menjadi bidang yang cocok jika diperlukan.

Contoh

Misalkan kita memiliki koleksi yang disebut pets yang berisi dokumen-dokumen berikut:

db.pets.find() 

Hasil:

{ "_id" :1, "name" :"Wag", "type" :"Dog", "weight" :20 }{ "_id" :2, "name" :"Bark", "type" :"Anjing", "berat" :10 }{ "_id" :3, "name" :"Meow", "type" :"Cat", "weight" :7 }{ "_id" :4, "name" :"Scratch", "type" :"Cat", "weight" :8 }{ "_id" :5, "name" :"Bruce", "type" :"Bat", "weight" :3 } 

Dan kami memiliki file JSON berikut bernama pets.json :

{"_id":1,"name":"Wag","type":"Anjing"}{"_id":2,"name":"Fluffy","type":"Cat"," weight":10}{"_id":9,"name":"Hop","type":"Kangaroo","weight":60}

Perintah berikut mengimpor file JSON menggunakan delete modus:

mongoimport --db=PetHotel --collection=pets --mode=delete --file=data/pets.json 

Menjalankan perintah ini akan menghapus semua dokumen yang cocok dalam koleksi.

Periksa Hasil

Yuk intip koleksinya sekarang.

db.pets.find() 

Hasil:

{ "_id" :3, "name" :"Meow", "type" :"Cat", "weight" :7 }{ "_id" :4, "name" :"Scratch", "type" :"Cat", "weight" :8 }{ "_id" :5, "name" :"Bruce", "type" :"Bat", "weight" :3 }

Kita dapat melihat bahwa 2 dokumen pertama telah dihapus. Mereka dihapus karena _id their mereka nilai cocok dengan _id nilai dalam dokumen yang ada. Ini terlepas dari detail lain yang belum tentu cocok (seperti dengan dokumen 2).

Juga, file yang kami impor memiliki dokumen dengan _id dari 9 tetapi tidak ada dokumen yang cocok, jadi tidak ada yang dihapus untuk dokumen itu.

Ubah Bidang Bagian Atas

Anda dapat menggunakan --upsertFields parameter untuk menentukan bidang selain _id yang harus dicocokkan. Saat menggunakan beberapa bidang dengan parameter ini, berikan sebagai daftar yang dipisahkan koma.

Misalkan kita memiliki file JSON lain bernama pets2.json dan tampilannya seperti ini:

{ "name" :"Meow", "type" :"Cat", "weight" :7 }{ "name" :"Bubbles", "type" :"Fish", "weight" :3 } 

Dokumen ini tidak menyertakan _id bidang, jadi kami harus mencocokkan bidang lain yang secara unik mengidentifikasi setiap dokumen. Dalam hal ini kita bisa menggunakan name dan type bidang.

Oleh karena itu, kita dapat menggunakan mongoimport berikut ini:perintah:

mongoimport --db=PetHotel --collection=pets --mode=delete --upsertFields=name,type --file=data/pets2.json 

Sekarang mari kita periksa kembali koleksinya:

db.pets.find() 

Hasil:

{ "_id" :4, "name" :"Scratch", "type" :"Cat", "weight" :8 }{ "_id" :5, "name" :"Bruce", "type" :"Kelelawar", "berat" :3 }

Meow si kucing dihapus karena hewan peliharaan itu ada di koleksi MongoDB dan dokumen yang diimpor.

Gelembung ikan tidak memiliki dokumen yang cocok sehingga tidak ada yang dihapus untuk dokumen itu.

Periksa mongoimport

mongoimport adalah bagian dari paket Alat Database MongoDB. Alat Database MongoDB adalah rangkaian utilitas baris perintah untuk bekerja dengan MongoDB.

Jika Anda tidak yakin apakah Anda memiliki MongoDB Database Tools/mongoimport terinstal, coba jalankan perintah berikut di Terminal atau Command Prompt Anda untuk memeriksa:

mongoimport --version 

Jika Anda memilikinya, Anda akan melihat informasi versi, dll. Jika Anda tidak memilikinya, Anda dapat menggunakan petunjuk penginstalan di situs web MongoDB untuk menginstalnya ke sistem Anda.

Di mana Menjalankan Perintah?

Jangan lupa, Anda harus menjalankan mongoimport perintah dari baris perintah sistem Anda (mis. Terminal baru atau jendela Prompt Perintah).

Jangan jalankan dari mongo kerang.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Operasi Dorong di MongoDB

  2. Bagaimana cara saya melakukan lebih dari/kurang dari menggunakan MongoDB?

  3. Otomasi Penerapan Basis Data MongoDB

  4. MongoError:sambungkan ECONNREFUSED 127.0.0.1:27017

  5. Panggilan balik instance.save() Mongoose.js tidak diaktifkan