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

Cara membatasi penghapusan di MongoDB untuk pengumpulan hubungan

Kita dapat melakukannya menggunakan $nin

biarkan kami memiliki koleksi Perusahaan dengan 3 catatan

db.companies.find();

{"_id":1, "name":"ABC Pvt Ltd", "Address":"Chennai, India"}
{"_id":2, "name":"XYZ Pvt Ltd", "Address":"Mumbai, India"}
{"_id":3, "name":"LMN Pvt Ltd", "Address":"Delhi, India"}

Mari kita memiliki koleksi karyawan dengan 3 recordcompany atribut di koleksi karyawan mengacu pada dokumen id koleksi perusahaan, untuk pengujian kami memiliki karyawan untuk perusahaan 1 dan 2.

db.employees.find();

{"_id":1, "firstname":"X", "lastname":"Y", "company":1}
{"_id":2, "firstname":"A", "lastname":"B", "company":1}
{"_id":2, "firstname":"Z", "lastname":"A", "company":2}

Sebelum menghapus perusahaan tanpa karyawan, pertama-tama kita perlu menemukan Perusahaan dengan karyawan. Untuk menghindari banyak entri, mari kita gunakan distinct

db.employees.distinct("company")
[ 1, 2 ]

sekarang kami telah menggunakan $nin dengan perusahaan berbeda yang memiliki karyawan untuk menghapus perusahaan yang tidak memiliki karyawan

db.companies.remove({"_id":{$nin : db.employees.distinct("company")}});

Sekarang jika kita mengeksekusi query find pada koleksi perusahaan, kita hanya akan mendapatkan dua record.

db.companies.find();
{ "_id" : 1, "name" : "ABC Pvt Ltd", "Address" : "Chennai, India" }
{ "_id" : 2, "name" : "XYZ Pvt Ltd", "Address" : "Mumbai, India" }

perusahaan 3 dihapus karena tidak memiliki karyawan

Semoga Membantu!




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. 5 Cara Mendapatkan Jam dari Tanggal di MongoDB

  2. Diskriminator tipe driver MongoDB C # dengan kelas generik yang diwarisi dari kelas dasar non-generik

  3. Fungsi sinkron memanggil driver nodejs mongodb

  4. MongoDB:Bagaimana cara menonaktifkan logging peringatan:ClientCursor::staticYield can't unlock b/c of ​​recursive lock?

  5. Bersantai lalu Agregasi grup di MongoDB C #