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

Menghapus catatan duplikat menggunakan MapReduce

Saya belum pernah menggunakan mongoDB tetapi saya telah menggunakan mapreduce. Saya pikir Anda berada di jalur yang benar dalam hal fungsi mapreduce. Untuk mengecualikan dia 0 dan string kosong, Anda dapat menambahkan tanda centang di fungsi peta itu sendiri.. sesuatu seperti

m = function () { 
  if(this.MlsId!=0 && this.MlsId!="") {    
    emit(this.MlsId, 1); 
  }
} 

Dan pengurangan harus mengembalikan pasangan nilai kunci. Jadi seharusnya:

r = function(k, vals) {
  emit(k,Arrays.sum(vals);
}

Setelah ini, Anda harus memiliki satu set pasangan nilai kunci dalam output sedemikian rupa sehingga kuncinya adalah MlsId dan nilainya adalah jumlah kali ID khusus ini muncul. Saya tidak yakin tentang bagian db.drop(). Seperti yang Anda tunjukkan, kemungkinan besar akan menghapus semua MlsId daripada hanya menghapus duplikat. Untuk menyiasatinya, mungkin Anda dapat memanggil drop() terlebih dahulu dan kemudian membuat ulang MlsId sekali. Apakah itu akan berhasil untuk Anda?



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Dapatkan pemberitahuan untuk dokumen yang diubah di mongodb

  2. Mongodb, kueri agregat dengan $lookup

  3. Pertempuran Database NoSQL - Membandingkan Fungsi NoSQL MongoDB &MSSQL

  4. DBaaS Hosting MongoDB Pertama yang Mendukung Pemerintah Azure untuk Sektor Publik

  5. MongoDB $gt Aggregation Pipeline Operator