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 .