MongoDB Kopya Kayıtları Silme

MongoDB Kopya Kayıtları Silme

MongoDB üzerinde zaman zaman oluşan kopya kayıt sorununu çözmek aslında çok basit. Satır satır mongo db üzerinde kayıtlar çiftlenmiş veya daha fazla kopyalanabiliyor. Bunları veritabanı üzerinden temizlemek için aşağıda ki kodları çalıştırmanız yeterli.

db.KoleksiyonAdi.aggregate([
  { $group: { 
    _id: { AlanAdi: "$KopyasiAranacakAlan"},  
    dups: { "$addToSet": "$_id" }, 
    count: { "$sum": 1 } 
  }}, 
  { $match: { 
    count: { "$gt": 1 }
  }}
],
{allowDiskUse: true}
)
.forEach(function(doc) {
    doc.dups.shift();      // Silinmeden önce ki ilk kaydı tutması için shift yapıyoruz
    db.collectionName.remove({_id : {$in: doc.dups }});  // Kopyaları Sil
})

Paylaş :

Bu gönderiyi paylaş

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.


Verified by MonsterInsights