Mongoose Schema ve Model Oluşturma Rehberi


Mongoose Schema ve Model Oluşturma Rehberi

Mongoose, Node.js ortamında MongoDB ile nesne tabanlı veri modellemesi yapabilmeyi sağlayan en popüler ODM (Object Data Modeling) kütüphanesidir. Mongoose schema oluşturma ve model tanımlama işlemleri sayesinde, veritabanında tutulan verilerin yapısı ve mantığı kontrol altına alınabilir. Bu rehberde Mongoose schema ve model oluşturma adımlarını, kod örnekleriyle birlikte detaylı biçimde inceleyeceğiz.

Mongoose Schema Nedir?

Schema, MongoDB üzerindeki bir koleksiyonda tutulan dökümanların (veri kayıtlarının) baştan tanımlanmış yapıya sahip olmasını sağlar. Yani hangi alanların hangi türde olacağı, zorunlu olup olmadığı ve bazı özel doğrulama kuralları schema ile belirlenir. Mongoose schema oluşturma işlemi, geliştiricinin veri güvenliği ve bütünlüğü sağlamasına önemli katkı verir.

Basit Bir Schema Tanımlama

const mongoose = require('mongoose');

const KullaniciSchema = new mongoose.Schema({
  ad: { type: String, required: true },
  email: { type: String, required: true, unique: true },
  yas: { type: Number, min: 0 }
});

Yukarıdaki örnekte, KullaniciSchema ile bir kullanıcının sahip olması gereken alanlar ve tipler tanımlandı. ad ve email alanları zorunlu belirtildi, ayrıca email için benzersiz (unique) olma şartı eklendi.

Mongoose ile Model Oluşturma

Mongoose'da model, schema bilgisini kullanarak MongoDB koleksiyonları ile etkileşime giren nesnedir. Model oluşturma ile CRUD (oluşturma, okuma, güncelleme, silme) işlemlerini güvenli ve kolayca yapılabilir hale getiririz.

Kullanıcı Modeli Oluşturma

const Kullanici = mongoose.model('Kullanici', KullaniciSchema);

Bu kod ile Kullanici adında bir model oluşturduk. Artık bu modeli kullanarak kullanıcı ekleyebilir, sorgulayabilir veya güncelleyebiliriz. Örneğin yeni bir kullanıcı eklemek için:

const yeniKullanici = new Kullanici({
  ad: 'Ali Veli',
  email: 'ali@ornek.com',
  yas: 29
});

yeniKullanici.save()
  .then(doc => console.log('Kullanıcı başarıyla kaydedildi:', doc))
  .catch(err => console.error('Hata oluştu:', err));

Sonuç

Mongoose schema ve model oluşturma süreçleri, Node.js uygulamalarında MongoDB veritabanı ile çalışmayı son derece güvenli ve esnek hale getirir. Schema tanımlayarak veri yapınızı kontrol altında tutabilir, model sayesinde kolayca CRUD işlemleri gerçekleştirebilirsiniz. Doğru bir Mongoose schema ve model yapısı, uygulamanızın başarılı ve sürdürülebilir olması için kritik öneme sahiptir.