Node.js MongoDB Çoklu Veri Ekleme İşlemi
Hepinize merhaba dostlarım 😊. Bu yazımda sizlere Node.js üzerinde MongoDB bağlantısı yaparak birden fazla veri ekleme işleminden bahsedeceğim.
Önceki yazılarımda dikkat ettiyseniz tek bir veri ekletiyorduk (okumayan dostlarım için buraya link koydum). Ama projemiz üzerinde bazı durumlar oluyor ki birden fazla veri ekletme işlemleri yani çoklu veri ekletmenin gerektiği zamanlar olabiliyor. İşte bu durumda ne yaparız nasıl yol izleriz gelin buna bakalım. Ha ama kendinizi sakın ha
Çok mu zor acaba ? Nasıl Yaparız ? Nasıl Hallederiz ?
bu gibi sorularla daraltmayın derim. Hem konu çok basit hem de öğrenme sürecinizde size negatif bir etki yapar. Şimdi sözü daha fazla uzatmadan dostlarım hemen gelelim proje ortamımızı hazırlayalım. Bunun için örnek bir çalışma klasörü ayarlayalım ve içerisine
npm init
komutumuzu yazıp enter enter yazıp kuralım (Takılan dostlarım varsa buradan ulaşabilir). Projemizi kurduktan sonra da MongoDB ile çalışmamız için projemizin kök klasörüne gelip
npm install --save mongoose@4.12.4
şeklinde kodumuzu yazalım ve enter tuşuna basalım. Modülümüz kurulduktan sonra MongoDB üzerinde bir veri tabanı açmamız gerekli. Ben daha önceki örneklerde açmış olduğum mongoose-nodejs isimli veri tabanını kullanacağım. Siz bu kısımda kendinize özel bir veri tabanı açıp kulllanabilirsiniz. Bu kısma kadar tamamladığımıza göre dostlarım gelelim bir car.js isimli JavaScript dosyası oluşturalım ve daha sonra içerisine
var mongoose = require('mongoose') // Modülü Dahil Ettik
mongoose.connect("mongodb://127.0.0.1:27017/mongoose-nodejs",{useMongoClient : true},function (err,db){ // Bağlantıyı Açtık
*// console.log("Bağlandım")
});
var Schema = mongoose.Schema // Mongose İçerisndeki Şema Özelliğini Alalım
var CarSchema = new Schema( // Yeni Şema Oluşturalım
{
brand : String,
model : String
}
)
var Car = mongoose.model("Car",CarSchema) // Modeli Oluşturalım
module.exports = {
Car // Bunu Dışarı Aktaralım
}
şeklinde kodlarımızı yazdık. Çoklu bir araç ekleme işlemi yapacağımız için buna özel bir model dosyası oluşturduk. Daha sonrasında ise bir index.js dosyası oluşturalım. Bunun içerisine gelip
var Car = require('./car') // Araç modülünü yükleyelim
var mongoose = require('mongoose') // Mongosose MModülünü Yükleyelim
var db = mongoose.connection // Bağlantıyı Açalım
var car = new Car.Car.insertMany([ // insertMany() fonksiyonunu kullanıp içerisine dizi attık ve birden çok objeyi içerisine dahil ettik
{brand: "Opel", model: "Astra"}, // 1. Objemiz
{brand: "Renault", model: "Clio"} // 2. Objemiz (bunlar gitgide artırılabilir)
]).then(function () {
console.log("Eklendi") // promise yapısı var. Then içine düşerse sonuç işlem başarılıdır
}).catch(function () {
console.log("Hata Oluştu"); // promise yapısı var. Catch içine düşerse işlem gerçekleşememiştir
})
şeklinde kodlarımızı yazdık. Kodlarda dikkat etmişseniz tekli veri eklerken biz new User.User() deyip içerisine tek bir obje girerken new Car.Car.insertMany() diyerek yani insertMany() fonksiyonunu kullanarak birden çok verinin eklenme işlemini rahat bir şekilde gerçekleştirebiliyoruz. Sonrasında ise bu fonksiyonumuz bir promise gibi çalıştığından (promise yapısında takılan dostlarım varsa buradan ulaşabilir) iki ayrı kısma düşmesi söz konusu oluyor. Kod düzenli çalıştıysa then kısmına düşüyor. Hatalı çalıştıysa catch kısmına düşüyor. Bu kısma kadar tamam isek terminalimizi açalım ve
node index.js
komutumuzu yazıp enter tuşuna basalım. Ekranımıza
Eklendi
şeklinde bir çıktı gelecektir. Tamam buraya kadar normal peki MongoDB üzerine geldi mi onu inceleyelim. Gelelim MongoDB üzerine. Koleksiyonumuza baktığımızda
şeklinde kodlarımızın sorunsuz bir şekilde çalıştığını rahatlıkla görüyoruz. Hiçbir şekilde zor olmadığını tamamen pratik bir şekilde kullanıldığını gördünüz değil mi :). Bütün işlemler bundan ibaret
Eveeeet dostlarım 😊. Bu yazımda sizlere Node.js üzerinde MongoDB bağlantısı yaparak koleksiyonumuza birden fazla veri ekleme işleminin nasıl gerçekleştirileceğini elimden geldiğince dilim döndüğünce anlatmaya çalıştım. Umarım faydalı olmuşumdur. Eksik veya hatalı bir bilgi aktarımı yapmış isem benimle iletişime geçmekten çekinmeyin. Konu başlarda biraz karmaşık veya zor gelebilir dostlarım anlıyorum özellikle öğrenme süreci içerisinde bu gibi durumlar kaçınılmazdır. Bu aşamada sizlerden yapmanızı istediğim tek şey "İstikrarlı ve Azimli Olmalısınız, Bolca Pratik Yapmalısınız". Bu dediklerimi hayat felsefeniz yaptığınız sürece başarı sizler için kaçınılmaz olacaktır :)
Hayallerinizi gerçekleştirmeniz ve güzel yerlere gelmeniz dileklerimle... İyi çalışmalar dilerim :)
Yazar Hakkında
Kendi Halinde Bir Backend Developer