Node.js mongoose Modülü

Paylaş

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 },
  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' })
  .catch(err => {
    throw err;
  })
  .then(result => {
    console.log(result);
  });

veya

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

yeniKullanici.save()
  .catch(err => {
    throw err;
  })
  .then(result => {
    console.log(result);
  });

veya

(async function () {
  const eklenen = await Kullanici.create({ adi: 'Yusuf', soyadi: 'Sezer', yasi: 75, eposta: 'yusufsezer@mail.com' });
  console.log(eklenen);
})();

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({})
  .catch(err => {
    throw err;
  })
  .then(result => {
    console.log(result);
  });

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

Kullanici.find({ adi: 'Yusuf' })
  .catch(err => {
    throw err;
  })
  .then(result => {
    console.log(result);
  });

Veri güncelleme

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

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

Veri silme

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

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

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.


Bunlarda ilgini çekebilir


LinkedIn grubuna buradan katılın.