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

Mongo menemukan duplikat untuk entri untuk dua atau lebih bidang

Anda dapat dengan mudah mengidentifikasi duplikat dengan menjalankan operasi pipa agregasi berikut:

db.collection.aggregate([
    { 
        "$group": { 
            "_id": { "foreing": "$foreing", "value": "$value" }, 
            "uniqueIds": { "$addToSet": "$_id" },
            "count": { "$sum": 1 } 
        }
    }, 
    { "$match": { "count": { "$gt": 1 } } }
])

$group operator pada langkah pertama digunakan untuk mengelompokkan dokumen berdasarkan foreign dan value nilai kunci dan kemudian buat larik _id nilai untuk setiap dokumen yang dikelompokkan sebagai uniqueIds bidang menggunakan $addToSet operator. Ini memberi Anda larik nilai ekspresi unik untuk setiap grup. Dapatkan jumlah total dokumen yang dikelompokkan untuk digunakan pada tahap alur selanjutnya dengan $sum operator.

Pada tahap pipa kedua, gunakan $match operator untuk memfilter semua dokumen dengan hitungan 1. Dokumen yang difilter mewakili kunci indeks unik.

Dokumen yang tersisa akan menjadi yang ada di koleksi yang memiliki nilai kunci duplikat untuk pasangan foreing &value .



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cadangkan Basis Data MongoDB menggunakan mongodump

  2. Ubah string menjadi MongoDB BsonDocument

  3. Panduan untuk MongoDB dengan Java

  4. 7 Cara untuk Memeriksa Versi MongoDB Anda

  5. Bagaimana cara menyalin database dari satu server MongoDB ke yang lain?