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

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.