Merhabalar arkadaşlar, Sitemizi programlama ile ilgilenen bütün arkadaşlarımızın türkçe içerik konusunda çektiği sıkıntılar düşünülerek soru/cevap şeklinde bir etkileşimde bulunabilmesi için kurduk. Umuyoruz hepimiz için güzel bir deneyim olur. Hasscript Ekibi

0
Mongo db collection üzerinde döngü nasıl kurulur?

Açık 1 Cevaplar 52 Gösterim Veri Tabanı
Mongo db üzerinde bir döngü açıp bir sorgunun sonucu üzerinde dönerek işlem yapmak istiyorum. Mesela db.sehirler.find() sonucu üzerinden map işlemi yaparak başka bir collection oluşturmak istiyorum. Veya hepsinin üzerinden dönerek ekrana sadece isimlerini yazdırmak istiyorum.

Nasıl yapılabilir?

1 cevap

0

Çok da zor değilmiş.
Eğer forEach ile kullanmak isterseniz aşağıdaki kodu kullanabilirsiniz.

db.getCollection("kisiler").find({}).forEach(function(doc) {
    var temp = {};
    temp.id = doc.resourceId;
    temp.name = doc.name;
    temp.email = doc.mailAddress; 
    
    db.yeniKisiler.insert(temp);
});

Map fonksiyonu ile çalıştırmak isterseniz buradaki iyi olabilir.


var list = db.kisiler.find({}).map(function(doc) {
    var temp = {};
    temp.id = doc.resourceId;
    temp.name = doc.name;
    temp.email = doc.mailAddress; 
    
    return temp;
});

db.yeniKisiler.insertMany(list);

İlk izlenim map normalde bu işlemi daha hızlı yapar ama benim kodlamamda bütün map işlemi bittikten sonra bir diziye alıp o diziyi insert etmek. Büyük veri kümelerinde sorun olabilir. Güzel bir yöntem nasıl olabilir bilemedim.

(4k puan)