Bu makale, Nodejs kullanarak veritabanı işlemlerinin nasıl yapılacağı ve CRUD işlemlerinin nasıl gerçekleştirileceği hakkında detaylı bilgi sunmaktadır CRUD terimi, veritabanı işlemlerinde kullanılan temel işlemleri ifade ederek; Oluşturma, Okuma, Güncelleme ve Silme işlemlerini içermektedir MongoDB veritabanı ve Mongoose kütüphanesi kullanılarak, bir örnek proje üzerinde bu işlemlerin nasıl yapılabileceği açıklanmaktadır
Nodejs, bir runtime environment olarak; JavaScript kodlarının server-side çalışmasını sağlar ve yüksek performans sunar Ayrıca, ölçeklenebilir bir yapısı vardır ve JavaScript kullanımını kolaylaştırır Bu nedenle, hem front-end hem de back-end tarafında tercih edilir
Mongoose kütüphanesi, MongoDB veritabanına bağlanmayı kolaylaştıran bir araçtır Bağlantı için gereken bilgiler adres, port, veritabanı adı, kullanıcı adı ve paroladır Oluşturma iş

Bu makale, CRUD işlemleri konusunda detaylı bir rehber sunmakta ve Node.js kullanarak veritabanı işlemlerinin nasıl gerçekleştirilebileceği hakkında bilgiler içermektedir. CRUD terimi, Veri tabanı işlemlerinde kullanılan en temel işlemleri ifade eden; Create (Oluşturma), Read (Okuma), Update (Güncelleme) ve Delete (Silme) işlemlerini ifade eder. Makale, Node.js'in ne olduğunu ve işlevi hakkında bilgi sunarak, kodlama süreci için gereksinimleri de ele almaktadır.
CRUD işlemleri için bir veritabanına ihtiyaç duyulduğundan, makalede MongoDB veritabanı ve Mongoose isimli kütüphane yöneticisi de kullanılmaktadır. Bu işlemleri gerçekleştirmek için öncelikle Node.js'in yüklü olması yeterli olacaktır. MongoDB veritabanı ve Mongoose yöneticisi örnek kodları ise makalemizde hemen yer alacaktır.
- Node.js ile yapılan çalışmalar performans açısından oldukça güçlüdür.
- Mongoose, Node.js ile birlikte kullanılan MongoDB için önemli bir araçtır.
- CRUD işlemleri, veritabanı işlemlerinin temel yapı taşlarıdır.
Makale, CRUD işlemlerinin nasıl yapılabileceğini öğrenmek isteyenler için oldukça faydalı bir rehberdir. Node.js kullanarak MongoDB veritabanı üzerinde gerçekleştirilen CRUD işlemleri için örnek kodlar, özelleştirilebilir hale getirilmiş bir yapıda sunulmaktadır.
CRUD Nedir?
CRUD (Create, Read, Update, Delete), veritabanı işlemlerinin en temel ifadeleridir. Oluşturma, okuma, güncelleme ve silme işlemleri ile veritabanlarında yapılan bütün işlemler, CRUD tabiri ile ifade edilebilir.
Create işlemi, yeni kayıtların oluşturulmasını ifade eder. Read işlemi, mevcut kayıtların okunmasını sağlar. Update işlemi, var olan kayıtların güncellenmesi anlamına gelirken, Delete işlemi ile de kayıtların silinmesi işlemi gerçekleştirilir.
Bu temel işlemler, her veritabanı için geçerlidir ve veritabanları üzerinde yapılacak olan her işlem, CRUD temelinde şekillenir. Bu nedenle, veritabanı işlemleri yaparken, CRUD işlemlerine hakim olmak oldukça mühimdir.
Node.js Nedir ve Neden Kullanılır?
Node.js, JavaScript kodlarının server-side çalışmasını sağlayan bir runtime environment'tır. Bu sayede, tarayıcılar aracılığıyla çalışan JavaScript kodlarına kıyasla daha yüksek performans sunar.
Ayrıca, Node.js kolayca ölçeklendirilebilir bir yapıya sahiptir. Bu sayede, birden fazla kullanıcının erişimine açık web uygulamalarında stabil bir şekilde çalışabilir. Ayrıca, Node.js açık kaynak kodlu bir platformdur ve sürekli olarak geliştirilmektedir.
Node.js'in en büyük avantajlarından biri, JavaScript kullanmanıza olanak tanımasıdır. Bu sayede, uygulamaların hem front-end hem de back-end tarafında aynı dil kullanılabilir. Bu da kodlama sürecini daha kolay ve hızlı hale getirir.
Node.js Kurulumu
Node.js Kurulumu
Node.js, dünya genelinde en popüler yöntemlerden biridir ve her geçen gün daha fazla kullanıcı tarafından tercih edilmektedir. Node.js'in en son sürümünü indirmek için resmi indirme sayfasını ziyaret edebilirsiniz. İndirme sayfasından uygun sürümü seçip bilgisayarınıza indirin. Kurulum sırasında varsayılan ayarlar genellikle yeterli olacaktır; bu nedenle, kurulum işlemi sırasında değişiklik yapmanıza gerek yoktur.
Node.js'in yüklendiğinden emin olmak için, terminal kullanarak aşağıdaki komutu çalıştırabilirsiniz:
node -v
Bu komut, yüklü olan Node.js sürümünü size gösterecektir.
CRUD İşlemlerinin Kodlanması
CRUD işlemlerinin kodlanması için bir veritabanına ihtiyaç vardır. Bu makalede, MongoDB veritabanı kullanarak örnek CRUD işlemleri gerçekleştirilecektir. MongoDB bağlantısını yapmak için ise Mongoose isimli kütüphaneden yararlanacağız.
Mongoose, MongoDB veritabanına bağlanmayı kolaylaştıran bir kütüphanedir. İlk olarak, Mongoose'u yüklememiz gerekiyor. Bu işlem için, terminal veya komut satırında şu komutu girin:
npm install mongoose
Ardından, Node.js dosyanıza Mongoose'u dahil edin:
const mongoose = require('mongoose');
Bir MongoDB veritabanı oluşturmak için, MongoDB Atlas veya lokal olarak MongoDB kullanabilirsiniz. MongoDB Atlas, MongoDB'nin sağladığı bir bulut çözümüdür. Kendi bilgisayarınızda çalıştırmak için, MongoDB indirip yükleyebilirsiniz.
Bir bağlantıda kullanacağımız bilgiler şunlardır:
- Adres: Bağlanacağımız MongoDB sunucusunun adresi
- Port: Bağlanacağımız MongoDB sunucusunun bağlantı noktası
- Veritabanı adı: Bağlanacağımız veritabanının adı
- Kullanıcı adı: Veritabanına bağlanmak için kullanılan kullanıcı adı
- Parola: Veritabanına bağlanmak için kullanılan parola
Bağlantı bilgilerini kullanarak bir bağlantı oluşturmak için şu kodu kullanabilirsiniz:
mongoose.connect('mongodb://localhost:27017/test', { useNewUrlParser: true, useUnifiedTopology: true});
Yukarıdaki kod, 'test' adlı bir veritabanına bağlanır. Bu örnekte, bağlantı adresimiz 'localhost' ve port numaramız 27017 olarak tanımlanmıştır.
Bir kez bağlantı başarılı bir şekilde kurulduğunda, artık MongoDB veritabanı ile CRUD işlemlerini gerçekleştirebilirsiniz.
Create İşlemi
Veritabanında yeni bir kayıt oluşturmak için, ilgili collection'a bir JSON objesi eklememiz yeterlidir. Mongoose'un kullanımı sayesinde, bu işlem oldukça basit hale gelir. Örneğin, bir model
adında bir veri modelimiz ve name
ve age
gibi iki adet özelliği olan bir kayıt oluşturmak istediğimizi düşünelim. Bu durumda, model.create({name: 'John Doe', age: 35})
şeklinde bir kod yazarak, yeni kaydı kolayca oluşturabiliriz.
Read İşlemi
Kayıtları okumak için, Mongoose ile find metodunu kullanıyoruz. Find metodunun özellikleri ile birlikte bir örnek kod olarak aşağıdaki kullanım gösterilebilir:
model.find({age: {$gt: 18}}, (err, docs) => {})
Burada `$gt` operatörü, yaş değeri 18'den büyük olan kayıtları getirmek için kullanılır. Bu örnekte, "model" yerine, veritabanındaki collection ismi yazılmalıdır. Ayrıca, `{age: {$gt: 18}}` ifadesi, yaş değeri 18'den büyük olan kayıtları getirmek için kullanılır. Bu ifadeyi, aradığınız kritere göre güncelleyebilirsiniz.
Update İşlemi
Kayıtları güncelleme işlemleri, veritabanındaki bilgilerin doğru ve güncel kalmasını sağlamak için oldukça önemlidir. Bu işlemlerin yapılabilmesi için Mongoose kullanarak find ve save metodlarını birlikte kullanabiliriz.
Örneğin, bir kaydın yaşı güncellenmek istendiğinde, ilk olarak find metodunu kullanarak kaydı çekiyoruz:
Kod | Açıklama |
---|---|
model.find({name: 'John'}, (err, doc) => { | Kaydı çeker. |
Daha sonra, bu kaydın yaşını güncelleyebilmek için save metodunu kullanarak kaydı yeniden kaydediyoruz:
Kod | Açıklama |
---|---|
doc.age = 36; | Yaş değeri 36 olarak güncellenir. |
doc.save((err) => {}) | Kayıt güncellenir. |
Bu şekilde, kayıtlar kolayca güncellenebilir ve veritabanındaki bilgiler doğru bir şekilde saklanabilir.
if (err) return handleError(err);Bir Node.js uygulamasında, veritabanı işlemleri sırasında hatalar meydana gelebilir. Bu nedenle, hataların nasıl yönetileceği önemlidir.
Bir hata oluştuğunda, uygulamanın beklenmedik bir şekilde çökmemesi için hata yönetimi yapılması gerekir. Yukarıdaki kod satırı, bir hatanın oluşması durumunda handleError() fonksiyonunu çağırır.
HandleError() fonksiyonu uygulamanın hatayı nasıl ele alacağını belirler. Hatayı loglama, kullanıcıya hata mesajı gösterme veya hata sayfasına yönlendirme gibi farklı yöntemler kullanılabilir.
Bu nedenle, bir Node.js geliştiricisi olarak, bu tür hata yönetimini doğru bir şekilde uygulamak önemlidir.
doc.ageKayıt güncelleme işlemi, veritabanındaki bir kaydın bir veya birden fazla özelliğinin değiştirilmesini sağlar. Bu işlem için Mongoose kütüphanesi kullanılarak find ve save metodları birlikte kullanılabilir. Burada, ilk olarak güncellenecek kayıt veritabanından bulunur ve değişiklikler yapılır. Daha sonra save metodu ile kayıt veritabanına tekrar kaydedilir. Örnek olarak, aşağıdaki kod parçasında John adındaki kişinin yaşının 36 olarak güncellenmesi gösterilmiştir:
model.find({name: 'John'}, (err, doc) => { if (err) return handleError(err); doc.age = 36; doc.save((err) => {});})
Burada, öncelikle find metodu ile 'John' isimli kayıt veritabanından bulunur. Daha sonra, age özelliği 36 olarak değiştirilir. Son olarak, save metodu ile güncellenmiş kayıt veritabanına kaydedilir.
doc.save((err)Update işlemini yaparken, kaydın hangi collection içinde olduğunu belirtmeliyiz. Bu nedenle önce find metodu kullanılarak aranan kayıt bulunur ve sonra save metodu ile güncelleme işlemi yapılır. Save metodunda bir callback fonksiyonu kullanılır, bu fonksiyon hataları ele alır ve işlemin tamamlandığını belirtir. Örneğin;
Örnek | Açıklama |
---|---|
model.find({name: 'John'}, (err, doc) => { if (err) return handleError(err); doc.age = 36; doc.save((err) => {}); }) | Bu örnekte, name: 'John' parametresine sahip kayıt bulunur ve yaş değeri 36 olarak güncellenir. Kayıt veritabanına save metodu ile kaydedilir. |
Save metodunun kullanımı oldukça basit ve güncelleme işlemlerinde oldukça kullanışlıdır.
})```Kayıtları güncellemek için öncelikle, güncellenmesi istenilen kaydın bulunması gerekir. Bunun için find metodu kullanılır ve güncellenmesi istenilen özellikler değiştirildikten sonra save metodu ile kaydedilir. Örneğin, veritabanında bir kayıtta yaş değeri 35 iken, bu değerin 36 yapılması istendiğinde şu kod parçası kullanılabilir:
Kod | Açıklama |
---|---|
model.find({name: 'John'}, (err, doc) => { | Bu kod parçasında, "name" özelliği "John" olan bir kayıt bulunur ve yaş değeri 36 olarak güncellenir. Sonrasında değişiklikler save metodu ile kaydedilir. |
Delete İşlemi
CRUD işlemlerinde, veritabanından belirli kayıtların silinmesi işlemine Delete (Silme) işlemi denir. Bu işlemi gerçekleştirmek için Mongoose kütüphanesi ile findOneAndDelete metodundan yararlanılabilir. Bu metod, veritabanındaki kayıtları bulur ve siler. Örneğin, Node.js üzerinde bir MongoDB veritabanında 'John Doe' adlı bir kaydı silmek isteyelim. Bunun için aşağıdaki kod satırı kullanılabilir:
model.findOneAndDelete({name: 'John Doe'}, (err, doc) => {})
Burada, 'model' MongoDB veritabanından ilgili collection'ı temsil ediyor. 'findOneAndDelete()' metodunda, silinecek kaydın özellikleri belirtilir. Bu özellikler, büyük-küçük harf hassasiyetlidir. Eğer 'findOneAndDelete()' metodu başarılı bir şekilde gerçekleşirse, 'doc' değişkenine silinen kaydın bilgileri atanır ve 'err' değişkeni null olacaktır.
Özet
Bu makale, CRUD (Create, Read, Update, Delete) işlemlerinin ne olduğunu anlattı ve bu işlemlerin Node.js ile nasıl yapılacağını öğretti. MongoDB veritabanı kullanarak Mongoose kütüphanesini kullanarak CRUD işlemlerinin nasıl yapılacağını öğrendik. Node.js'in, JavaScript kodlarının server-side çalışmasını sağlayarak yüksek performans ve kolayca ölçeklenebilir yapı sunması nedeniyle veritabanı işlemlerini oldukça kolaylaştırdığı belirtildi.