Profesyonel Web Tasarım Firması

MongoDB ile Node.js Entegrasyonu sayesinde Node.js ile MongoDB’yi kullanmak, modern web uygulamaları geliştirmek için yaygın bir yaklaşımdır. Bu entegrasyon, geliştiricilere tam yığın (full-stack) JavaScript geliştirme deneyimi sunar ve veri işleme, saklama ve sunma süreçlerini oldukça verimli hale getirir. İşte Node.js ile MongoDB’yi birlikte kullanarak bir web uygulaması geliştirmenin detaylı adımları:

Node.js ve MongoDB Entegrasyonu
Node.js ve MongoDB Entegrasyonu
  1. Kurulum
    • Öncelikle, Node.js ve npm (Node Package Manager) bilgisayarınıza kurulu olmalıdır. Node.js’in web sitesinden en son sürümü indirip kurabilirsiniz. Ayrıca, MongoDB veritabanı sunucusunu kurmanız gerekecek. MongoDB’yi resmi web sitesinden indirip talimatlara göre kurabilirsiniz.
    • Node.js uygulamanızda MongoDB ile etkileşim kurmak için mongoose kütüphanesini kullanabilirsiniz. Mongoose, MongoDB için popüler bir ODM (Object Data Modeling) kütüphanesidir.
    • npm install mongoose
  2. Bağlantı Kurma
    • MongoDB’ye bağlanmak için mongoose kullanabilirsiniz. Bu, veritabanınıza bağlanmanızı ve veri modellerinizi tanımlamanızı sağlar. Aşağıdaki örnek kod, MongoDB’ye nasıl bağlanacağınızı gösterir:
    • const mongoose = require('mongoose');

      mongoose.connect('mongodb://localhost:27017/test', {
      useNewUrlParser: true,
      useUnifiedTopology: true });
      const db = mongoose.connection;
      db.on('error', console.error.bind(console, 'connection error:'));
      db.once('open', function() { console.log("MongoDB'ye başarıyla bağlanıldı!");
      });
  3. Model Oluşturma
    • Mongoose kullanarak veri modellerinizi tanımlayabilirsiniz. Örneğin, bir kullanıcı modeli oluşturmak için aşağıdaki gibi bir şema tanımlayabilirsiniz. Şemalar, veritabanında saklanan belgelerin yapısını belirler.
    • const userSchema = new mongoose.Schema({
      name: {

      type: String,
      required: true
      },
      age: {

      type: Number,
      required: true
      },
      city: {

      type: String,
      required: true
      },
      email: {

      type: String,
      required: true,
      unique: true
      },
      createdAt: {

      type: Date,
      default:
      Date.now
      }
      });

      const User = mongoose.model('User', userSchema);
      ,
  4. Veri Ekleme
    • Veritabanına veri eklemek için modelinizi kullanabilirsiniz. Yeni bir kullanıcı eklemek için aşağıdaki kodu kullanın:
    • const newUser = new User ({
      ;name: 'Ali',
      age: 30,
      city: 'İstanbul',
      email: 'ali@example.com'
      });
      newUser.save((err) => { if (err)
      return console.error(err);
      console.log('Kullanıcı başarıyla kaydedildi!');
      });
  5. Veri Sorgulama
    • Veritabanındaki verileri sorgulamak için mongoose’un find, findOne gibi yöntemlerini kullanabilirsiniz. Örneğin, belirli bir yaşa sahip tüm kullanıcıları bulmak için:
    • User.find({ age: 30 }, (err, users) =>
      { if (err) return console.error(err);
      console.log(users);
      });
  6. Veri Güncelleme
    • Varolan verileri güncellemek için updateOne, updateMany gibi yöntemleri kullanabilirsiniz. Örneğin, belirli bir kullanıcının yaşını güncellemek için:
    • User.updateOne({ name: 'Ali' }, { age: 31 }, (err, res) => {
      if (err) return console.error(err);
      console.log('Kullanıcı başarıyla güncellendi!');
      });
  7. Veri Silme
    • Veritabanından veri silmek için deleteOne, deleteMany gibi yöntemleri kullanabilirsiniz. Örneğin, belirli bir kullanıcıyı silmek için:
    • User.deleteOne({ name: 'Ali' }, (err) => {
      if (err) return console.error(err);
      console.log('Kullanıcı başarıyla silindi!');
      });

Gelişmiş Kullanım Senaryoları

Node.js ve MongoDB entegrasyonunda daha ileri seviye kullanım senaryoları şunlardır:

  1. İlişkisel Veritabanı Tasarımı
    • MongoDB’de ilişkiler, referanslar ve yerleştirilmiş belgeler (embedded documents) kullanılarak yönetilir. Örneğin, bir kullanıcının birden fazla siparişi olabilir:
    • const orderSchema = new mongoose.Schema({
      product: String,
      quantity: Number,
      price: Number,
      userId: {
      type: mongoose.Schema.Types.ObjectId,
      ref: 'User'
      }
      });

      const Order = mongoose.model('Order', orderSchema);
  2. Orijinal Belge Operasyonları
    • MongoDB’nin gücünü kullanarak, belgelere daha gelişmiş operasyonlar uygulayabilirsiniz. Örneğin, aggregate yöntemi ile toplu işlemler yapabilirsiniz:
    • User.aggregate([
      { $match: { age: { $gte: 30 } } },
      { $group: { _id: "$city", total: { $sum: 1 } } }
      ], (err, result) => {
      if (err) return console.error(err);
      console.log(result);
      });
  3. Mongoose Orta Katmanları
    • Mongoose, veri işleme sırasında belirli olaylarda özel mantık eklemenizi sağlayan orta katmanlar (middleware) sunar. Örneğin, bir kullanıcı kaydedilmeden önce bir şifreyi hashlemek için:
    • const bcrypt = require('bcrypt');
      userSchema.pre('save', function(next) {
      if (this.isModified('password')) {
      this.password = bcrypt.hashSync(this.password, 10);
      }
      next();
      });

Node.js ile MongoDB’yi entegre etmek, modern ve ölçeklenebilir web uygulamaları geliştirmek için güçlü bir kombinasyon sunar. Mongoose gibi kütüphaneler, veritabanı işlemlerini kolaylaştırır ve geliştiricilere esneklik sağlar. Bu entegrasyon sayesinde, tam yığın JavaScript kullanarak hızlı ve verimli uygulamalar geliştirebilirsiniz. MongoDB’nin dinamik şeması ve yüksek performansı ile Node.js’in asenkron yapısı, birlikte modern web geliştirme projeleri için ideal bir temel oluşturur. Sizde bu ideal temelden yararlanmak için Avmek Creative Media‘yı tercih edebilirsiniz.

5/5 - (1 vote)
TIKLA ARA
WhatsApp