Express.js adalah sebuah gnome dengan konsep yang sangat sedikit untuk kerangka kerja aplikasi web untuk kerangka kerja Node.js untuk membuat aplikasi web yang kuat. Fleksibilitas untuk menyambungkan banyak database dengan mudah adalah salah satu kekuatannya yang paling menonjol. Baik Anda berurusan dengan database relasional seperti MySQL dan PostgreSQL atau database NoSQL seperti MongoDB, Express.js membuatnya lancar dan efisien untuk bekerja dengan database Anda. Artikel ini akan menunjukkan cara menggunakan Express untuk bekerja dengan database. js adalah panduan untuk semua hal tentang vue.
Menyiapkan Express.js dengan Database
Tetapi sebelum Anda dapat menghubungkan db Anda ke aplikasi Express. js. Semua ketergantungan yang diperlukan telah terinstal. Jadi, pertama-tama mari kita siapkan proyek Express.js sederhana:
1. Inisialisasi Proyek Node.js:
mkdir express-database-appcd express-database-appnpm init -y
2. Instal Express.js:
npm install express
3. Pilih Database dan Instal Ketergantungan: Anda akan membutuhkan pustaka klien tertentu tergantung pada basis data yang Anda pilih. Sebagai contoh:
- Untuk MongoDB: npm i mongoose
- Untuk MySQL: npm install mysql2
- Menggunakan PostgreSQLnpm install pg
sumber: educba.com |
Menghubungkan ke Basis Data
1. Menggunakan MongoDB dengan Mongoose
MongoDB memberi Anda Mongoose, sebuah pustaka ODM (Pemodelan Data Objek) untuk MongoDB. Library ini menyediakan solusi berbasis skema untuk memudahkan Anda bekerja dengan MongoDB. Inilah cara Anda dapat terhubung:
const express = require('express');const mongoose = require('mongoose');const app = express();const PORT = 3000;// MongoDB Connectionmongoose.connect('mongodb://localhost:27017/expressdb', { useNewUrlParser: true, useUnifiedTopology: true }).then(() => console.log('Connected to MongoDB')).catch((err) => console.error('Error connecting to MongoDB:', err));// Define a Schemaconst UserSchema = new mongoose.Schema({name: String,email: String,});// Create a Modelconst User = mongoose.model('User', UserSchema);// Route to Create a Userapp.post('/users', express.json(), async (req, res) => {const user = new User(req.body);try {await user.save();res.status(201).send(user);} catch (err) {res.status(400).send(err);}});app.listen(PORT, () => {console.log(`Server is running on http://localhost:${PORT}`);});
2. Menggunakan MySQL dengan MySQL2
mysql2 adalah driver yang kaya fitur dan banyak digunakan untuk MySQL. Cara Menghubungkan MySQL ke aplikasi Express js Anda:
const express = require('express');const mysql = require('mysql2');const app = express();const PORT = 3000;// MySQL Connectionconst db = mysql.createConnection({host: 'localhost',user: 'root',password: '',database: 'expressdb',});db.connect((err) => {if (err) {console.error('Error connecting to MySQL:', err);return;}console.log('Connected to MySQL');});// Route to Fetch Usersapp.get('/users', (req, res) => {db.query('SELECT * FROM users', (err, results) => {if (err) {return res.status(500).send(err);}res.json(results);});});app.listen(PORT, () => {console.log(`Server is running on http://localhost:${PORT}`);});
3. Menggunakan PostgreSQL dengan pg
Dalam kasus PostgreSQL, pustaka pg digunakan. Berikut ini sebuah contoh:
const express = require('express');const { Pool } = require('pg');const app = express();const PORT = 3000;// PostgreSQL Connectionconst pool = new Pool({user: 'postgres',host: 'localhost',database: 'expressdb',password: '',port: 5432,});// Route to Fetch Dataapp.get('/users', async (req, res) => {try {const result = await pool.query('SELECT * FROM users');res.json(result.rows);} catch (err) {res.status(500).send(err);}});app.listen(PORT, () => {console.log(`Server is running on http://localhost:${PORT}`);});
Praktik Optimal untuk Manajemen Basis Data di Express js
1. Dengan variabel lingkungan: env file untuk mencegah pemaparan. Muat dengan menggunakan paket dotenv:
npm install dotenv
require('dotenv').config();const dbUser = process.env.DB_USER;
2. Menangani Kesalahan: Gunakan middleware penanganan kesalahan untuk mencegat kesalahan terkait basis data dan mencegah aplikasi mogok.
3. Menerapkan penyatuan koneksi: Untuk meningkatkan performa dan menghindari beban yang terlalu berat pada basis data, jika Anda menggunakan basis data relasional, pastikan untuk menyambungkannya melalui kumpulan koneksi.
4. Memvalidasi Input: Selalu memvalidasi input pengguna untuk mencegah injeksi SQL dan kerentanan lainnya.
5. Gunakan ORM/ODM: Pustaka seperti Mongoose (untuk MongoDB) atau Sequelize (untuk database relasional) dapat menyederhanakan dan standar operasi database.
Kesimpulan
Menghubungkan database dengan Express js membuka dunia yang sangat potensial untuk aplikasi dinamis. Mempelajari cara mengatur dan berkomunikasi dengan database populer (misalnya: MongoDB, MySQL, PostgreSQL) memungkinkan para pengembang untuk membangun backend yang mudah dipelihara, efisien, dan aman. Selalu ikuti praktik terbaik untuk validasi input, manajemen kredensial yang tepat, dan penanganan kesalahan untuk membangun arsitektur aplikasi yang aman.
kembali ke>>>> Memulai dengan Express.js untuk Pengembangan Web