Menghubungkan MongoDB dengan Express.js
Sekarang setelah kita mengenal MongoDB, mari kita pelajari bagaimana menghubungkan MongoDB dengan Express.js untuk membangun aplikasi backend yang lebih dinamis dan fungsional. Dengan menghubungkan Express.js dan MongoDB, kita dapat membuat aplikasi web yang kuat dengan fitur database yang dapat menangani permintaan data dengan cepat dan efisien.
Langkah 1: Install Dependencies
Untuk memulai, pertama-tama pastikan Anda sudah menginstal Express.js dan MongoDB di aplikasi Node.js Anda. Berikut adalah perintah untuk menginstal dependensi yang dibutuhkan:
npm install express mongoose
Di sini, kita menggunakan mongoose untuk berkomunikasi dengan MongoDB, karena Mongoose menyediakan antarmuka yang lebih mudah digunakan untuk bekerja dengan MongoDB di aplikasi Node.js.
Langkah 2: Membuat Koneksi ke MongoDB
Kita akan mulai dengan membuat koneksi ke MongoDB menggunakan Mongoose. Berikut adalah contoh kode untuk membuat koneksi di file app.js:
const express = require('express');
const mongoose = require('mongoose');
const app = express();
// Koneksi MongoDB
mongoose.connect('mongodb://localhost:27017/myDatabase', {
useNewUrlParser: true,
useUnifiedTopology: true
})
.then(() => console.log('Connected to MongoDB'))
.catch((error) => console.error('Failed to connect to MongoDB:', error));
app.listen(3000, () => {
console.log('Server is running on port 3000');
});
Dengan menggunakan Mongoose, kita dapat dengan mudah menghubungkan aplikasi Express ke MongoDB. Jika berhasil terhubung, kita akan melihat pesan "Connected to MongoDB" di konsol.
Langkah 3: Membuat Model MongoDB dengan Mongoose
Selanjutnya, kita akan membuat model MongoDB menggunakan Mongoose untuk mendefinisikan struktur data. Sebagai contoh, mari kita buat model untuk menyimpan data pengguna:
const userSchema = new mongoose.Schema({
name: { type: String, required: true },
email: { type: String, required: true, unique: true }
});
const User = mongoose.model('User', userSchema);
Di sini, kita mendefinisikan schema untuk koleksi pengguna dengan dua atribut: name dan email. Setiap pengguna yang kita simpan dalam database akan memiliki dua field ini.
Langkah 4: Menambahkan API untuk Menambahkan Data Pengguna
Setelah model dibuat, kita dapat menambahkan API untuk menyimpan data pengguna ke MongoDB. Berikut adalah contoh kode untuk membuat API POST yang menambahkan pengguna baru:
app.use(express.json());
app.post('/users', (req, res) => {
const { name, email } = req.body;
const newUser = new User({
name,
email
});
newUser.save()
.then(user => res.status(201).send(user))
.catch(error => res.status(400).send(error));
});
Dengan API di atas, kita dapat mengirimkan data pengguna melalui permintaan POST ke endpoint /users untuk menambahkannya ke MongoDB.
Langkah 5: Menambahkan API untuk Mengambil Data Pengguna
Kita juga dapat menambahkan API untuk mengambil data pengguna yang ada di database. Berikut adalah kode untuk API GET yang mengembalikan daftar semua pengguna:
app.get('/users', (req, res) => {
User.find()
.then(users => res.status(200).send(users))
.catch(error => res.status(500).send(error));
});
Dengan API ini, kita dapat mengambil daftar semua pengguna yang tersimpan dalam database MongoDB dengan melakukan permintaan GET ke endpoint /users.
Langkah 6: Menjalankan Aplikasi
Setelah selesai menambahkan API untuk menambahkan dan mengambil pengguna, Anda dapat menjalankan aplikasi Express.js dengan perintah berikut:
node app.js
Jika server berjalan dengan benar, Anda dapat mengakses aplikasi di http://localhost:3000.
Kesimpulan
Menghubungkan MongoDB dengan Express.js memungkinkan pengembang untuk membuat aplikasi web yang dinamis dan efisien dengan menyimpan data dalam database NoSQL yang skalabel. Dengan menggunakan Mongoose, kita dapat lebih mudah mengelola dan berinteraksi dengan MongoDB dalam aplikasi Node.js. Dengan API sederhana yang telah kita buat, kita dapat mulai menyimpan dan mengambil data dari MongoDB untuk aplikasi web kita.