Wednesday, 26 November 2025

Tutorial MongoDB connect to express JS use Mongoose 9.0.0

 

Dalam pengembangan aplikasi berbasis Node.js, penggunaan MongoDB sebagai database NoSQL sangat populer karena fleksibel, cepat, dan mudah diintegrasikan dengan berbagai framework JavaScript. Salah satu pendekatan paling umum untuk mengelola koneksi dan operasi database MongoDB dalam aplikasi Express adalah melalui Mongoose, sebuah Object Data Modeling (ODM) yang menyediakan struktur lebih terorganisasi untuk bekerja dengan MongoDB. Artikel ini akan membahas langkah-langkah membuat koneksi database MongoDB pada Express menggunakan Mongoose, mulai dari instalasi hingga konfigurasi koneksi dan penanganan error.

Ada 2 cara dalam membuat koneksi dari express ke mongodb, yaitu dengan cara minginstal driver mongoose, atau install driver mongodb. Pada artikel ini kita akan membahas koneksi dengan menggunakan driver mongoose.

1. Mengapa Menggunakan Mongoose? 

Mongoose menawarkan beberapa kelebihan penting, antara lain:

  • Schema-based Modeling : Anda bisa menentukan struktur data berupa schema, sehingga data lebih terorganisasi.
  • Validasi Otomatis : Mongoose menyediakan validator untuk memastikan data sesuai sebelum dimasukkan ke database.
  • Middleware / Hooks : Sangat berguna untuk menjalankan operasi sebelum atau sesudah aksi tertentu seperti save, update, dsb.
  • Query Builder yang Mudah Digunakan : Mongoose menyediakan API yang mudah dibaca dan digunakan.

Dengan fitur-fitur tersebut, Mongoose menjadi pilihan utama bagi developer Node.js yang ingin mengelola MongoDB dengan lebih rapi dan terstruktur. 

2. Persiapan Proyek

Pertama kali pastikan kalian sudah menginstall MongoDB Community Server jika belum bisa cek Disini, selanjutnya pastikan Node.js dan npm sudah terinstal. Buat direktori baru untuk proyek:


mkdir express-mongoose
cd express-mongoose

Inisialisasi proyek:


npm init -y

Kemudian instal Express dan Mongoose:


npm install express mongoose

Untuk kebutuhan pengembangan, Anda juga dapat menginstal nodemon:


npm install --save-dev nodemon

agar server pada express nanti otomatis reload tanpa harus jalankan ulang server

3. Struktur Proyek

Gunakan struktur sederhana seperti berikut:


express-mongoose-app/
│
├── server.js
└── config/
    └── database.js

Folder config digunakan untuk menyimpan konfigurasi koneksi database agar lebih rapi.

4. Membuat File Koneksi MongoDB

Buat file config/database.js dan isi dengan kode berikut:


const mongoose = require('mongoose');

const connectDB = async()=>{
    try {
      //  digunakan untuk memaksa Mongoose agar hanya mempertimbangkan field yang ada dalam skema saat melakukan query ke basis data
      mongoose.set('strictQuery', true);

      //koneksi ke mongodb
      await mongoose.connect('mongodb://localhost:27017/database_name');
      console.log('Berhasil terhubung ke MongoDB');
    } catch (error) {
        console.error('Gagal terhubung ke MongoDB:', error.message);
    }
};

module.exports = connectDB;

Jika Anda menggunakan MongoDB Atlas, cukup ganti URL koneksi menjadi connection string dari Atlas.

5. Menghubungkan Database pada Express

Sekarang buka file server.js dan isi sebagai berikut:


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

const app = express();

// Middleware untuk parsing JSON
app.use(express.json());

// Panggil koneksi database
connectDB();

app.get('/', (req, res) => {
    res.send('Aplikasi Express dengan Mongoose');
});

const PORT = 3000;
app.listen(PORT, () => console.log(`Server berjalan pada port ${PORT}`));

Saat server dijalankan, Express akan otomatis menghubungkan diri ke MongoDB sebelum menerima request.

6. Menjalankan Server

Jalankan server dengan:


node server.js

Atau jika menggunakan nodemon:


npx nodemon server.js

Jika koneksi berhasil, Anda akan melihat output:


$ npx nodemon server.js
[nodemon] 3.1.11
[nodemon] to restart at any time, enter `rs`
[nodemon] watching path(s): *.*
[nodemon] watching extensions: js,mjs,cjs,json
[nodemon] starting `node server.js`
Server berjalan pada port 3000
Berhasil terhubung ke MongoDB

7. Kesimpulan

Menghubungkan Express dengan MongoDB menggunakan Mongoose memberikan banyak keuntungan, terutama dalam hal struktur kode, validasi data, dan kemudahan penggunaan. Dengan memisahkan konfigurasi koneksi ke dalam file khusus, aplikasi menjadi lebih modular dan mudah dikembangkan. Langkah-langkah di atas dapat digunakan sebagai dasar dalam membangun aplikasi backend yang lebih kompleks termasuk penambahan model, controller, dan rute API.

untuk melihat artikel yang lain bisa klik Disiniuntuk versi yang menggunakan driver mongodb bisa lihat Disini

No comments:

Post a Comment