MongoDB Node.js Sürücüsü Nasıl Entegre Edilir

Mongodb Node Js Surucusu Nasil Entegre Edilir



MongoDB, Node.js programları ve veritabanları arasında entegrasyonu sağlayan, MongoDB Node.js Sürücüsü adı verilen resmi bir pakete sahiptir. Bu uygulama ile diğer veritabanı eylemlerinin yanı sıra belgeleri bağlayabilir, sorgulayabilir, güncelleyebilir ve silebiliriz. MongoDB Node.js Sürücüsünü kullanmak için Node Paket Yöneticisi olan npm'den mongodb paketini kurmamız gerekiyor. Bu yazımızda mongodb’u npm’den almak için her aşamayı aşağıda anlattık.

Npm Modülünü Kullanarak MongoDB Sürücüsünü Kurma

MongoDB node.js sürücüsünü alabilmek için öncelikle Node.js için güncellenmesi gereken npm modülünü sistemimize almamız gerekiyor. Npm'yi global olarak en son sürümle sisteme yükledik. Npm modülünün kurulum komutu aşağıda verilmiştir:

npm kurulumu -g npm@9.8.1

Burada npm modülünün bilgisayara eklendiği görülmektedir.









Şimdi MongoDB'yi Node.js sürücüsüyle entegre etmemiz gerekiyor, bu nedenle aşağıdaki komut npm komutunu kullanarak Mongodb sürücüsünü almamıza yardımcı olur. Bağımlılıklar npm tarafından “package.json” adlı bir dosyaya -save seçeneğiyle kaydedilir. Ancak aynı sonucu elde etmek için –save seçeneği olmadan MongoDB sürücüsünü kurup projenin bağımlılıklarına ekleyebiliriz.



npm mongodb'u kurun --save

Aşağıdaki görüntüde görüldüğü gibi MongoDB sürücüsü artık başarıyla yüklenmiştir.





Bir sonraki adım MongoDB programının yerleştirilebileceği benzersiz bir dizin oluşturmaktır. Bunu yapmak için mkdir komutunu kullanarak “Yeni Klasör” dizinini oluşturun. Dizini oluşturma komutu aşağıdaki gibidir:



mkdir Yeni Klasör

Şimdi, söz konusu dizine girmek için aşağıda gösterildiği gibi yolu belirledik.

cd C:\Kullanıcılar\Hp\MyNodejs\YeniKlasör

Böylece artık bir önceki adımda oluşturduğumuz “Yeni Klasör” dizinindeyiz. Bir sonraki işleme geçerek, herhangi bir kullanıcı girişi gerektirmeden, varsayılan değerlere sahip bir package.json dosyası oluşturarak yeni bir Node.js projesini hızlı bir şekilde başlatmak için “npm init -y” komutunu çalıştırıyoruz.

Aşağıdaki komut çıktısı olarak varsayılan değerlere sahip temel package.json dosyası oluşturuldu.

Örnek # 1: Node.js Entegrasyonu Yapılarak MongoDB Sunucusu ile Bağlantı Kurulması

MongoDB sürücüsünü Node.js'ye almak için gereken tüm ilk adımlar yukarıdaki bölümde başarıyla tamamlandı. Artık MongoDB sunucusuyla kolayca bağlantı kurabiliriz. Bunun için “NewFolder” dizini içerisinde “MongoDB.js” isminde bir dosya oluşturduk. Bağlantıyı kurmaya yönelik script aşağıda verilmiştir.

const { MongoClient } = gerekmek ( 'mongodb' );
URL'yi oluştur = 'mongodb:// 127.0.0.1:27017 ' ;
const istemcisi = new MongoClient(url);
const veritabanı_adı = 'YeniVeritabanı' ;
eşzamansız işlev main() {
client.connect()'i bekliyoruz;
konsol.log( 'MongoDB sunucusuna başarıyla bağlanıldı' );
const db = client.db(db_name);
const koleksiyonu = db.collection( 'kullanıcılar' );
geri dönmek 'Tamamlandı.' ;
}

ana()
.then(console.log)
.catch(console.error)
.finally(() => client.close());

MongoDB sunucu bağlantısını oluşturmak için MongoDB paketinden “MongoClient” sınıfını ekledik. Daha sonra MongoDB sunucu URL’sinin tanımlandığı (bu durumda localhost olan) “url” ve “db_name” değişkenlerini belirledik ve MongoDB veritabanının adını da “NewDatabase” olarak belirledik.

Bundan sonra async fonksiyonunu ayarladık ve ona main() adını verdik. Bu main() fonksiyonunun içinde, bağlantıyı kurmak için connect() fonksiyonunu kullandık ve bağlantı başarıyla kurulduğunda log() mesajı yazdıracaktır.

Bağlantıyı kurduktan sonra “kullanıcılar” koleksiyonuna erişiyoruz. Burada main fonksiyonun içerisinde çeşitli veritabanı işlemlerini gerçekleştirebiliyoruz. Daha sonra, başarı ve hata durumlarını ele almak için main().then(console.log).catch(console.error) kullanılarak ana işlev çağrılır. Son olarak .finally() bloğundaki client.close() öğesini kullanarak MongoDB bağlantısını kapattık.

Dosyayı node komutuyla çalıştırdığımızda çıktı, MongoDB sunucusuyla bağlantının başarıyla kurulduğunu gösterdi.

Örnek # 2: Node.js kullanarak MongoDB Koleksiyonuna Belge Ekleme

Önceki bölümde MongoDB sunucusuna bağlandık. Bağlantı kurulduğunda belgeleri yukarıdaki programda belirtilen koleksiyona ekleyebiliriz. Belgeyi “user” koleksiyonuna ekleme işlemi aynı dosya olan “MongoDB.js”ye eklenir.

const { MongoClient } = gerekmek ( 'mongodb' );
URL'yi oluştur = 'mongodb:// 127.0.0.1:27017 ' ;
const istemcisi = new MongoClient(url);
const veritabanı_adı = 'YeniVeritabanı' ;
eşzamansız işlev main() {
client.connect()'i bekliyoruz;
konsol.log( 'MongoDB sunucusuna başarıyla bağlanıldı' );
const db = client.db(db_name);
const koleksiyonu = db.collection( 'kullanıcılar' );

const insertDocs =
koleksiyonu bekliyor.insertMany([{ name: 'Alex' , e-posta: ' alex@example.com ' },
{ isim: 'Andy' , e-posta: ' andy@example.com ' },
{ isim: 'Kendisi' , e-posta: ' sam@example.com ' }]);
konsol.log( 'Koleksiyona eklenen belgeler =>' , InsertDocs);
geri dönmek 'Tamamlandı.' ;
}

ana()
.then(console.log)
.catch(console.error)
.finally(() => client.close());

Burada tüm script yukarıdakiyle aynı; ekleme işlemini az önce asenkron fonksiyon main()'a ekledik. “insertDocs” değişkenini oluşturduk ve ardından wait komutunu kullanarak insertMany() fonksiyonunu çağırdık. insertMany() fonksiyonu için her birinde farklı değerlere sahip “name” ve “email” alanlarını içeren üç belge belirledik. Tüm belgeler doğru şekilde eklendiğinde bir bildirim oluşturulacaktır.

Görüntülenen çıktı, belgelerin üç benzersiz kimlikle koleksiyona başarıyla eklenmesini sağlar.

Örnek # 3: Node.js'yi kullanarak belgeyi Koleksiyona güncelleyin

Aynı şekilde Node.js’de MongoDB’nin güncelleme işlemini de aynı “MongoDB.js” dosyasını takip ederek uygulayabiliriz. Güncelleme işlemi için işlem dosyaya eklenir. Bu işlem için programı düşünün.

const { MongoClient } = gerekmek ( 'mongodb' );
URL'yi oluştur = 'mongodb:// 127.0.0.1:27017 ' ;
const istemcisi = new MongoClient(url);
const veritabanı_adı = 'YeniVeritabanı' ;
eşzamansız işlev main() {
client.connect()'i bekliyoruz;
konsol.log( 'MongoDB sunucusuna başarıyla bağlanıldı' );
const db = client.db(db_name);
const koleksiyonu = db.collection( 'kullanıcılar' );

const updateDoc = koleksiyonu bekliyor.updateOne({ name: 'andy' },
{ $ayar: { e-posta: ' andy12@example.com ' } });
konsol.log( 'Koleksiyondaki Belge Güncellendi=>' , updateDoc);
geri dönmek 'Tamamlandı.' ;
}

ana()
.then(console.log)
.catch(console.error)
.finally(() => client.close());

Burada güncelleme işleminin $set operatörü ile tanımlandığı değişkene “updateDocs” adını verdik. updateOne() yönteminin tanımı yalnızca bir belgenin güncellenmesi gerektiğini belirtir. MongoDB'nin updateOne() metodunda ilk ifade olarak name alanına değer verdik ve ardından yeni emailin buna göre güncellenmesi için “email” alanının verildiği ikinci ifadeye $set operatörünü verdik. .

Çıktı, güncellenecek belgenin Node.js kullanılarak eşleştirildiği ve değiştirildiği yerde görüntülenir.

Örnek # 4: Node.js Kullanarak MongoDB Koleksiyonundan Belge Silme

Daha sonra Node.js kullanarak MongoDB’nin silme işlemini uyguladık. İşlem benzer “MongoDB.js” dosyasında sağlanmaktadır.

const { MongoClient } = gerekmek ( 'mongodb' );
URL'yi oluştur = 'mongodb:// 127.0.0.1:27017 ' ;
const istemcisi = new MongoClient(url);
const veritabanı_adı = 'YeniVeritabanı' ;
eşzamansız işlev main() {
client.connect()'i bekliyoruz;
konsol.log( 'MongoDB sunucusuna başarıyla bağlanıldı' );
const db = client.db(db_name);
const koleksiyonu = db.collection( 'kullanıcılar' );

const deleteDoc = bekleme koleksiyonu.deleteOne({ name: 'Andy' });
konsol.log( 'Belge Silindi=>' ,Doc'u sil);
geri dönmek 'Tamamlandı.' ;
}

ana()
.then(console.log)
.catch(console.error)
.finally(() => client.close());

Burada, belgenin aynı 'kullanıcılar' koleksiyonundan silindiği yeni 'deleteDoc' değişkenini tanımladık. deleteOne() yöntemi, yalnızca 'Andy' değeriyle depolanan 'name' alanına sahip belirli belgeyi silmek için 'deleteDoc' değişkeni içinde sağlanır. Belge koleksiyondan silindiğinde Node.js dosyası da silme mesajını oluşturacaktır.

Beklendiği gibi belge MongoDB koleksiyonu 'kullanıcılarından' başarıyla silindi.

Çözüm

MongoDB Node.js Sürücüsünü kullanarak MongoDB veritabanına nasıl bağlantı kurulacağını ve bir koleksiyona nasıl erişileceğini gösterdik. MongoDB ile başarılı bir şekilde bağlantı kurduktan sonra MongoDB işlemlerini gerçekleştirmek için ana fonksiyon içerisine ek işlem kodu ekledik.