Expressjs ile MongoDB işlemleri
MongoDB, NoSQL veritabanı olarak sınıflandırılan bir veritabanıdır. Geleneksel SQL veritabanlarına alternatif olarak, MongoDB belge tabanlı yapıya sahiptir. Bu da MongoDB’de verilerin json formatında depolanabileceği anlamına gelmektedir.
MongoDB’nin kullanılmasının bazı avantajları şunlardır:
Esneklik: MongoDB, şemaya sıkı sıkıya bağlı olmadığı için verileri esnek şekilde depolamaya izin verir. Veri modellerinde değişiklik yapılması gerektiğinde kolaylıkla yapılabilir.
Ölçeklenebilirlik: MongoDB, yüksek performanslı ve ölçeklenebilir bir veritabanıdır. Büyüyen uygulamalar kolayca ölçeklenebilir.
Yüksek Performans: MongoDB’nin belge tabanlı mimarisi, veri okuma ve yazma işlemlerini hızlandırabilir. Veritabanı, veriye erişim için dizinler kullanır, bu da performansını artırır.
Kolay Kullanım: MongoDB’nin sorgu dili, JavaScript nesne tabanlıdır, bu da geliştiricilerin veritabanı işlemlerini daha kolay anlamasını sağlar.
Basit bir örnek yapalım.
MongoDB’yi Expressjs uygulamanıza entegre etmek için mongoose adlı bir npm modülünü kullanabiliriz.
Aşağıdaki npm paket kurulumunda express , mongoose ve body-parser kurulumunu yapıyoruz. body-parser paketi istekleri parçalamak için kullanılmaktadır.
npm install express mongoose body-parser
Şimdi basit bir MongoDB connection ve GET & POST örneğini ele alalım.
// server.js
// Gerekli modülleri içe aktarın
const express = require('express');
const mongoose = require('mongoose');
const bodyParser = require('body-parser');
// Express uygulamasını oluşturun
const app = express();
// MongoDB'ye bağlanın
mongoose.connect('mongodb://localhost:27017/veritabani_adı', {
useNewUrlParser: true,
useUnifiedTopology: true
})
.then(() => console.log('MongoDB bağlantısı başarılı'))
.catch(err => console.error('MongoDB bağlantı hatası', err));
// MongoDB için bir model oluşturun
const User = mongoose.model('User', {
name: String,
email: String
});
// Body parser middleware'ini kullanın
app.use(bodyParser.json());
// Yeni bir kullanıcı oluşturmak için POST isteği işleme
app.post('/users', async (req, res) => {
try {
const { name, email } = req.body;
const user = new User({ name, email });
await user.save();
res.status(201).send(user);
} catch (err) {
res.status(400).send(err);
}
});
// Tüm kullanıcıları getirmek için GET isteği işleme
app.get('/users', async (req, res) => {
try {
const users = await User.find();
res.send(users);
} catch (err) {
res.status(500).send(err);
}
});
// Uygulamayı belirtilen portta dinleyin
const PORT = process.env.PORT || 3000;
app.listen(PORT, () => console.log(`Server ${PORT} portunda başlatıldı`));
Bu örnekte, Express.js ile basit bir uygulama oluşturduk. MongoDB’ye bağlanmak için mongoose modülünü kullandık. Ayrıca, /users endpoint’lerine POST ve GET isteklerini işlemek için basit API rotaları ekledik. Bu örnek, yeni bir kullanıcı oluşturmayı ve tüm kullanıcıları getirmeyi destekler.
Yukarıdaki örnekte , Expressjs ile basit bir server ayağa kaldırdık. MongoDB’e bağlanmaki için mongoose modülünü kullanıp MongoDB bağlantısı yaptık. Ayrıetten “/users” endpointlerine POST ve GET isteklerini işlemek için basit API route tanımladık.POST isteğinde yeni kullanıcı oluştururken , GET isteği ile de oluşturulan kullanıcıları çekmeyi işlemiş olduk.
Okuduğunuz için teşekkürler
- 👏 Beğendiyseniz alkışlayın ve beni takip edin 👉
- 📰 Daha fazla içerik görüntülemek için tıklayın
- 🔔 Beni takip edin: LinkedIn!
Her zaman gelişmek için yer olduğunu anlıyorum. Lütfen düşüncelerinizi paylaşmaktan çekinmeyin.