Node.js ile Blog API Geliştirme Rehberi: MongoDB Bağlantısı ve Ortam Değişkenleri #2

Posted by

Merhaba arkadaşlar, yazı serimizin 2.si olan bu yazıda MongoDB bağlantısını sağlayacak kodlarımızı yazacağız ve bağlantı sağlanıp sağlanmadığını test edeceğiz.

config klasörü içerisinde database.js dosyamızı oluşturuyoruz. Bu dosyayı oluşturduktan sonra da mongoose paketini bu dosyada dahil ederek aşağıdaki gibi kodlarımızı yazıyoruz.

const mongoose = require('mongoose');

const connectDB = async () => {
    try{
        await mongoose.connect(process.env.MONGO_DB)
            .then(() => console.log('MongoDB connected successfully'))
            .catch(err => console.error('MongoDB connection error:', err));
    } catch(err){
        console.error(err.message);
        process.exit(1);
    }
}

module.exports = connectDB;

process.env.MONGO_DB yazdığımız değer için .env dosyası oluşturuyoruz ve içerisinde aşağıdaki gibi connection string’imizi ekliyoruz.

PORT=5000
MONGO_DB=mongodb://localhost:27017/blog_app

Daha sonra app.js içerisinde oluşturduğumuz metodumuz için database.js‘i dahil ediyoruz. .env dosyasındaki değerleri kullanabilmek için de dotenv paketini dahil ediyoruz. .env dosyasında eklediğimiz değerleri kullanabilmek için dotenv.config(); metodunu çağırmamız gerekmektedir.

const express = require('express');
const dotenv = require('dotenv');
const connectDB = require('./config/database');

// Ortam değişkenlerini yüklüyoruz
dotenv.config();

// Veritabanı bağlantısını başlatıyoruz
connectDB();

const app = express();
app.use(express.json()); // JSON parser middleware

// Test endpoint
app.get('/test-db', (req, res) => {
    const state = mongoose.connection.readyState;
    const status = state === 1 ? 'Connected' : 'Disconnected';
    res.json({ status });
});

// Sunucuyu başlat
const PORT = process.env.PORT || 5000;
app.listen(PORT, () => console.log(`Server running on port ${PORT}`));

MongoDB Test İşlemi

Uygulamayı başlatmak için terminalden aşağıdaki komutu çalıştırabilirsiniz:

npm start

Bağlantının başarılı olduğunu doğrulamak için tarayıcı üzerinden veya Postman kullanarak şu URL’yi ziyaret edebilirsiniz:
http://localhost:5000/test-db

Eğer bağlantı başarılıysa status:Connected yanıtını göreceğiz.

{ "status": "Connected" }

Bir sonraki yazıda kullanıcı modelimizi oluşturup kimlik doğrulama işlemleri ve CRUD metotlarımızı ele alacağız ve endpointlerimizi oluşturacağız.

Görüşmek üzere!

Leave a Reply

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir