Node.js mongoose Modülü

Node.js ile geliştirilen uygulamaya uygun model oluşturmak ve MongoDB işlemlerini daha kolay hale getirmek için kullanılan mongoose modülü ile ilgili bilgiler yer alıyor.

Mongoose nedir?

Mongoose geliştirilen uygulamaya göre model oluşturarak MongoDB işlemlerini kolaylaştıran bir ODM modülüdür.

MongoDB veritabanında veriler karmaşık bir şekilde saklanabilir.

Bu özellik iyi gibi görünse de verilerin karmaşık saklanması verilerle işlem yaparken çeşitli zorluklar ortaya çıkartır.

Bu sorunun önüne geçebilmek ve veri içindeki alanları belirlemek için modelleme yapılır.

Mongoose kurulumu

Modülü aşağıdaki komutlar kullanılarak indirilir.

npm install mongoose
veya
npm install mongoose --save

Mongoose kullanımı

Modül içerisinde MongoDB işlemleri yapmak için çeşitli sınıf, metot ve özelliğe sahiptir.

Veritabanı bağlantısı

Mongoose ile veritabanı bağlantısı için connect metodu kullanılır.

const mongoose = require('mongoose');
mongoose.connect('mongodb://127.0.0.1:27017/VT_ADI');

Metot ayrıca MongoDB bağlantı ayarlarını içeren nesne parametresi alır.

const mongoose = require('mongoose');
mongoose.connect('mongodb://127.0.0.1:27017/VT_ADI', {
  useNewUrlParser: true
});

Modelleme

Mongoose ile veriyi modellemek için modül içinde yer alan Schema sınıfı kullanılır.

Sınıf parametre olarak modelde yer alacak alan adı, alan tipi ve ayrıca çeşitli kısıtlamalar alır.

const Schema = mongoose.Schema;
let kullaniciSchema = new Schema({
  adi: String,
  soyadi: { text: String, default: false },
  yasi: Number,
  eposta: { type: String, required: [true, 'E-posta alanı zorunludur.'] }
});

Model için gerekli olan şema oluşturulduktan sonra mongoose içinde yer alan model metodu ile oluşturulan model kullanılabilir hale getirilir.

let Kullanici = mongoose.model('kullanici', kullaniciSchema);

Metot geriş dönüş değeri olarak MongoDB işlemlerinde kullanılacak çeşitli metotları içeren nesne döndürür.

Veri ekleme

Veri eklemek için create metodu veya save metodu kullanılır.

Kullanici.create({ adi: 'Yusuf', soyadi: 'SEZER', yasi: 75, eposta: 'yusufsezer@mail.com' }, (err, result) => {
  if (err) throw err;
  console.log(result);
});

veya

let yeniKullanici = new Kullanici({
  adi: 'Yusuf',
  soyadi: 'SEZER',
  yasi: 75,
  eposta: 'yusufsezer@mail.com'
});

yeniKullanici.save((err, result) => {
  if (err) throw err;
  console.log(result);
});

Veri sorgulama

Veri sorgulamak ve verileri listelemek için MongoDB modülünde içinde yer alan find, findOne ve findById gibi metotlar kullanılabilir.

Tüm verileri almak için find metodu kullanılabilir.

Kullanici.find({}, (err, kullanicilar) => {
  if (err) throw err;
  console.log(kullanicilar);
});

Veri sorgulamak için find metoduna sorgu parametreleri yazılır.

Kullanici.find({ adi: 'Yusuf' }, (err, kullanicilar) => {
  if (err) throw err;
  console.log(kullanicilar);
});

Veri güncelleme

Veri güncellemek için update, updateMany, findByIdAndUpdate, findOneAndUpdate metodu kullanılır.

Kullanici.findOneAndUpdate({ adi: 'Yusuf' }, { adi: 'Yusuf Sefa' }, (err, result) => {
  if (err) throw err;
  console.log(result);
});

Veri silme

Veril silmek için deleteOne, findByIdAndRemove, findOneAndRemove metodu kullanılır.

Kullanici.deleteOne({ adi: 'Yusuf Sefa' }, (err, result) => {
  if (err) throw err;
  console.log(result);
});

Veri güncelleme ve veri silme işlemi ayrıca veri sorgulama işlemi ile de yapılabilir.

Kullanici.findOne({ adi: 'Yusuf' }, (err, kullanici) => {
  if (err) throw err;
  // Veri silme veya veri güncelleme
  kullanici.remove((err) => {
    if (err) throw err;
    console.log('Kullanıcı başarıyla silindi.');
  });

});

Node.js ve MongoDB ile uygulama geliştirirken Mongoose kullanımı verilerin yönetiminde faydalı olacaktır.

Node.js Derslerine buradan ulaşabilirsiniz…

Hayırlı günler dilerim.

Yusuf SEZER

Yusuf SEZER

Computer Engineer who interested about web technologies, algorithms, artificial intelligence and embedded systems; constantly exploring new technologies.


Bunlara'da bakmalısın!