Bagaimana menemukan duplikat di mongodb
Anda dapat menggunakan sintaks berikut untuk menemukan dokumen dengan nilai duplikat di MongoDB:
 db.collection.aggregate([
    {" $group ": { "_id": " $field1 ", "count": { " $sum ": 1 } } },
    {" $match ": {"_id" :{ " $ne " : null } , "count" : {" $gt ": 1} } }, 
    {" $project ": {"name": " $_id ", "_id": 0} }
])
Inilah yang dilakukan sintaksis ini:
- Kelompokkan semua dokumen dengan nilai yang sama di kolom 1
 - Cocokkan kelompok yang memiliki lebih dari satu dokumen
 - Proyeksikan semua grup yang memiliki lebih dari satu dokumen
 
Kueri khusus ini mencari nilai duplikat di kolom field1 . Cukup edit nilai ini untuk mengubah bidang pencarian.
Contoh berikut memperlihatkan cara menggunakan sintaks ini dengan tim koleksi dengan dokumen berikut:
 db.teams.insertOne({team: " Mavs ", position: " Guard ", points: 31 })
db.teams.insertOne({team: " Mavs ", position: " Guard ", points: 22 })
db.teams.insertOne({team: " Rockets ", position: " Center ", points: 19 })
db.teams.insertOne({team: " Rockets ", position: " Forward ", points: 26 })
db.teams.insertOne({team: " Cavs ", position: " Guard ", points: 33 })
Contoh: Temukan dokumen dengan nilai duplikat
Kita dapat menggunakan kode berikut untuk menemukan semua nilai duplikat di kolom “tim”:
 db.teams.aggregate([
    {" $group ": { "_id": " $team ", "count": { " $sum ": 1 } } },
    {" $match ": {"_id" :{ " $ne " : null } , "count" : {" $gt ": 1} } }, 
    {" $project ": {"name": " $_id ", "_id": 0} }
])
Kueri ini mengembalikan hasil berikut:
 { name: 'Rockets' }
{ name: 'Mavs' }
Ini memberitahu kita bahwa nilai “Rockets” dan “Mavs” muncul beberapa kali di bidang “tim”.
Perhatikan bahwa kita cukup mengganti $team dengan $position untuk mencari nilai duplikat di bidang “posisi”:
 db.teams.aggregate([
    {" $group ": { "_id": " $position ", "count": { " $sum ": 1 } } },
    {" $match ": {"_id" :{ " $ne " : null } , "count" : {" $gt ": 1} } }, 
    {" $project ": {"name": " $_id ", "_id": 0} }
])
Kueri ini mengembalikan hasil berikut:
 { name: 'Guard' }
Ini memberitahu kita bahwa “Penjaga” muncul beberapa kali di bidang “posisi”.
Sumber daya tambahan
Tutorial berikut menjelaskan cara melakukan operasi umum lainnya di MongoDB:
 MongoDB: Cara menambahkan bidang baru ke koleksi
 MongoDB: Cara mengelompokkan dan menghitung
 MongoDB: Cara mengelompokkan berdasarkan beberapa bidang