JavaScript ile MongoDB Nasıl Geliştirilir

Javascript Ile Mongodb Nasil Gelistirilir



MongoDB'yi web geliştiricileri için kullanmanın en önemli avantajlarından biri, JavaScript ile mükemmel entegrasyonudur. MongoDB, geliştiricilerin JavaScript kodunu kullanarak doğrudan veritabanıyla etkileşim kurmasına olanak tanıyan yerel bir JavaScript sürücüsü sağlar. Artık MongoDB uygulamalarını JavaScript'te oluşturmaya başlamadan önce makineye MongoDB Node.js sürücüsünü yüklememiz gerekiyor. Bunun için aşağıdaki komutu kullanmamız gerekiyor:

npm ve mongodb

Sürücü, MongoDB ile JavaScript kodunuz üzerinden etkileşim kurmamıza ve veritabanına bağlanma, veri ekleme, veri sorgulama ve veri güncelleme gibi çeşitli işlemleri gerçekleştirmemize olanak tanır.







Örnek 1: JavaScript ile MongoDB Bağlantısı Geliştirme

Daha önce tartışıldığı gibi 'npm' modülü kullanılarak gerçekleştirilebilecek JavaScript ile MongoDB sunucusuyla bağlantı kurarak başlayın.



yapı { MongoClient } = gerekmek ( 'mongodb' ) ;

yapı URL = 'mongodb:// 127.0.0.1:27017 ' ;
yapı müşteri = yeni MongoClient ( URL ) ;
yapı dbAdı = 'MyDB' ;

eşzamansız işlev ana ( ) {
müşteriyi bekliyoruz. bağlamak ( ) ;
konsol. kayıt ( 'Sunucuya başarıyla bağlanıldı' ) ;
yapı db = müşteri. db ( dbAdı ) ;
yapı Toplamak = db. Toplamak ( 'Kişiler' ) ;

geri dönmek 'Tamamlandı.' ;
}

ana ( )
. Daha sonra ( konsol. kayıt )
. yakalamak ( konsol. hata )
. Sonunda ( ( ) => müşteri. kapalı ( ) ) ;

Öncelikle “File.js” dosyamızdaki “mongodb” modülünden gerekli MongoClient’ı import ediyoruz. Daha sonra MongoDB sunucusunun bağlantı URL'sini (url) tanımlıyoruz ve belirtilen URL'yi kullanarak yeni bir MongoClient örneği oluşturuyoruz.



Sonrasında bağlantıda kullanılacak MongoDB veritabanının adını (dbName) belirliyoruz. Daha sonra asenkron main() işlevi MongoDB sunucusundaki ana işlemleri yönetir. Burada, wait client.connect() metodunu kullanarak MongoDB sunucusuna bağlanıyoruz. Bu eşzamansız bir işlem olduğundan, bağlantı başarılı bir şekilde kurulana kadar işlev duraklatılır. Bağlantı başarılı bir şekilde kurulduğunda istemde görünen mesajı görüntüleyeceğiz. Client.db(dbName) kullanarak “dbName” içerisinde belirtilen isimdeki veritabanına referans alıyoruz.





Daha sonra db.collection(‘Persons’) komutunu kullanarak “Persons” isimli koleksiyona referans alıyoruz. Main() fonksiyonunu tanımladıktan sonra işlemleri yürütmek için main() fonksiyonunu çağırıyoruz. Main() işlevi başarılı bir şekilde çözümlenirse, .then(console.log) komutunu kullanarak sonucu (bu durumda 'tamamlandı' dizesidir) yazdırır. Yürütme sırasında bir hata varsa, hatayı yakalar ve .catch(console.error) kullanarak yazdırır. Son olarak .finally(() => client.close()) kullanılarak MongoDB istemci bağlantısının kapatılmasını sağlar.

Bu nedenle komut istemi, JavaScript dosyasında MongoDB bağlantısının kurulduğu mesajı gösterir:



Örnek 2: JavaScript ile MongoDB Belgesi Ekleme

Artık MongoDB sunucusuyla bağlantı kurulduğuna göre MongoDB sorgularını JavaScript ile kullanabiliriz. Burada tek belgeyi eklemek için ekleme sorgusunu uyguluyoruz.

yapı { MongoClient } = gerekmek ( 'mongodb' ) ;

yapı URL = 'mongodb:// 127.0.0.1:27017 ' ;
yapı müşteri = yeni MongoClient ( URL ) ;
yapı dbAdı = 'MyDB' ;

eşzamansız işlev ana ( ) {
yapı db = müşteri. db ( dbAdı ) ;
yapı Toplamak = db. Toplamak ( 'kullanıcılar' ) ;
yapı belgeyi ekle =
toplamayı bekliyor. InsertOne ( { isim : 'Andrew' , yaş : 23 } ) ;
konsol. kayıt ( 'Belge Eklendi =' , belgeyi ekle ) ;
geri dönmek 'Tamamlandı.' ;
}

ana ( )
. Daha sonra ( konsol. kayıt )
. yakalamak ( konsol. hata )
. Sonunda ( ( ) => müşteri. kapalı ( ) ) ;

Main() fonksiyonunu veritabanı ekleme işlemini gerçekleştiren asenkron bir fonksiyon olarak tanımlıyoruz. İçinde MongoClient örneğini ve URL'yi kullanarak MongoDB sunucusuna bağlanıyoruz. Daha sonra client.db(dbName) kullanarak belirtilen veritabanına (MyDB) erişiyoruz ve db.collection('users') kullanarak veritabanından 'users' koleksiyonunu alıyoruz.

Daha sonra koleksiyon.insertOne() metodunu kullanarak alan adı “Andrew” ve yaşı 23 olan bir dokümanı “users” koleksiyonuna ekliyoruz. InsertOne() yöntemi, eklemenin sonucuyla çözülen bir söz döndürür. Eklenen belge console.log kullanılarak gösterilir. Son olarak MongoDB client bağlantısını kapatıyoruz.

MongoDB veritabanı koleksiyonuna eklenen belge, aşağıdaki çıktıda gösterildiği gibi başarıyla eklenmiştir:

Örnek 3: JavaScript ile MongoDB Belgesi Bulun

Benzer şekilde, önceki örnekte oluşturulan koleksiyondaki belgeyi bulmak için MongoDB'nin “find” sorgusunu JavaScript ile uygulayabiliriz.

yapı { MongoClient } = gerekmek ( 'mongodb' ) ;

yapı URL = 'mongodb:// 127.0.0.1:27017 ' ;
yapı müşteri = yeni MongoClient ( URL ) ;
yapı dbAdı = 'MyDB' ;

eşzamansız işlev ana ( ) {
yapı db = müşteri. db ( dbAdı ) ;
yapı Toplamak = db. Toplamak ( 'kullanıcılar' ) ;
yapı findQuery = { isim : 'Andrew' } ;
yapı findDoc = toplamayı bekliyor. bulmak ( findQuery ) . sıralamak ( ) ;
konsol. kayıt ( 'Belge =' , findDoc ) ;
}

ana ( )
. Daha sonra ( konsol. kayıt )
. yakalamak ( konsol. hata )
. Sonunda ( ( ) => müşteri. kapalı ( ) ) ;

Oluşturulan MongoClient örneğini ve belirtilen URL'yi kullanarak ilk önce MongoDB sunucusuna bağlandığımız ana fonksiyondaki gösterimle başlıyoruz. Daha sonra, dbName'in önceden tanımlanmış veritabanı adı olduğu client.db(dbName) dosyasını kullanarak MyDB veritabanına erişiyoruz.

Daha sonra, db.collection('users') komutunu kullanarak veritabanından 'users' koleksiyonuna bir referans alıyoruz. Alınacak belgelerin isim alanının “Andrew” değerine eşit olması gerektiğini belirten “findQuery” adında bir sorgu nesnesi oluşturulur. Bundan sonra, eşleşen belgelere bir imleç döndüren koleksiyon.find(findQuery) kullanarak “users” koleksiyonu üzerinde bir “find” sorgusu gerçekleştiriyoruz.

Devam etmeden önce sonucun çözümlendiğinden emin olmak için Collection.find() işleminden önce “await” anahtar sözcüğü kullanılır. Bulma işleminin sonucu toArray() kullanılarak bir belge dizisine dönüştürülür ve bulunan belgeler “findDoc” değişkeninde saklanır. Belgeler daha sonra console.log kullanılarak konsola kaydedilir.

Sonuç olarak, MongoDB koleksiyonunun bulunan belgesi yürütme sırasında görüntülenir:

Örnek 4: MongoDB Belgesini JavaScript ile Güncelleme

Daha sonra MongoDB koleksiyonunun belirtilen belgesini güncellemek için JavaScript'te “güncelleme” işlemini gerçekleştiriyoruz.

yapı { MongoClient } = gerekmek ( 'mongodb' ) ;

yapı URL = 'mongodb:// 127.0.0.1:27017 ' ;
yapı müşteri = yeni MongoClient ( URL ) ;
yapı dbAdı = 'MyDB' ;

eşzamansız işlev ana ( ) {
yapı db = müşteri. db ( dbAdı ) ;
yapı Toplamak = db. Toplamak ( 'kullanıcılar' ) ;
yapı güncelleme sorgusu = { isim : 'Andrew' } ;
yapı güncellemeAdı = { $set : { isim : 'Kendisi' } } ;
yapı güncellemeSonucu = toplamayı bekliyor. güncellemeBir ( güncelleme sorgusu , güncellemeAdı ) ;
konsol. kayıt ( 'Güncellenmiş Belge =' , güncellemeSonucu ) ;
geri dönmek 'Tamamlandı' ;
}

ana ( )
. Daha sonra ( konsol. kayıt )
. yakalamak ( konsol. hata )
. Sonunda ( ( ) => müşteri. kapalı ( ) ) ;

“Kullanıcılar” koleksiyonundaki bir belgeyi güncellemek için main() fonksiyonunu çağırırız. Daha sonra isim alanı “Andrew” olan belgeyi bulmak için { name: ‘Andrew’ } kullanarak bir “update” sorgusu hazırlıyoruz. Daha sonra eşleşen belgenin isim alanını { $set: { name: ‘Sam’ } } kullanarak “Sam” olarak ayarlıyoruz.

Collection.updateOne(updateQuery, updateName) komutunu kullanarak güncellemeyi gerçekleştirmek için “update” sorgusunu ve “update” işlemini tanımlıyoruz. updateOne() yöntemi, 'güncelleme' sorgusuyla eşleşen ilk belgeyi günceller ve güncellemenin sonucunu temsil eden bir nesneyi döndürür. “updateResult” değişkeni güncelleme eyleminin sonucunu içerir.

Sonraki çıktı ekranı güncellenen sorgunun sonuçlarını görüntüler:

Örnek 5: MongoDB Belgesini JavaScript ile Silme

Son olarak JavaScript içerisinde MongoDB’den önceki belgeyi silmek için MongoDB’nin delete yöntemini kullanıyoruz.

yapı { MongoClient } = gerekmek ( 'mongodb' ) ;

yapı URL = 'mongodb:// 127.0.0.1:27017 ' ;
yapı müşteri = yeni MongoClient ( URL ) ;
yapı dbAdı = 'MyDB' ;

eşzamansız işlev ana ( ) {
yapı db = müşteri. db ( dbAdı ) ;
yapı Toplamak = db. Toplamak ( 'kullanıcılar' ) ;
yapı sorguyu sil = { isim : 'Kendisi' } ;
yapı sonucu sil = toplamayı bekliyor. silBiri ( sorguyu sil ) ;
konsol. kayıt ( 'Silinmiş Belge =' , sonucu sil ) ;
geri dönmek 'Tamamlandı' ;
}

ana ( )
. Daha sonra ( konsol. kayıt )
. yakalamak ( konsol. hata )
. Sonunda ( ( ) => müşteri. kapalı ( ) ) ;

Silinecek belgelere ilişkin kriterleri belirten “deleteQuery” adında bir “delete” sorgu nesnesi oluşturuyoruz. Bu durumda ad alanının 'Sam' değerine eşit olduğu belgeleri arar. Silme sorgusunu hazırladıktan sonra koleksiyon nesnesinin deleteOne() metodunu kullanarak asıl silme işlemini uyguluyoruz.

Sorguda belirtilen kriterleri karşılayan ilk eşleşen belgeyi silen “deleteOne”a argüman olarak “deleteQuery”yi iletiyoruz. “DeleteResult” değişkeni silme eyleminin sonucunu tutar.

Belirtilen belge “javascript” dosyası kullanılarak MongoDB koleksiyonundan silinir:

Çözüm

Artık MongoDB Node.js sürücüsü aracılığıyla MongoDB'yi JavaScript ile nasıl kullanacağımız konusunda temel bir anlayışa sahibiz. Bağlantıdan belgenin JavaScript ile silinmesine kadar tüm bunları farklı Mongo DB işlemleriyle gösterdik. Buradan gerektiğinde daha karmaşık uygulamalar geliştirebilir ve MongoDB'yi Node.js projelerine entegre edebiliriz.