📖 Konsep Utama
- Database Relasional (MySQL, PostgreSQL) → data dalam tabel dengan relasi.
- Database Non-Relasional (MongoDB) → data dalam bentuk dokumen/JSON.
- Driver/Client → library untuk menghubungkan aplikasi dengan database.
- Query → perintah untuk mengelola data (SQL atau metode ORM).
🔹 Contoh Integrasi dengan MySQL
// app.js
const express = require("express");
const mysql = require("mysql2");
const app = express();
app.use(express.json());
// Koneksi ke database
const db = mysql.createConnection({
host: "localhost",
user: "root",
password: "",
database: "belajar_db"
});
// Route GET semua user
app.get("/users", (req, res) => {
db.query("SELECT * FROM users", (err, results) => {
if (err) throw err;
res.json(results);
});
});
// Route POST tambah user
app.post("/users", (req, res) => {
const { nama } = req.body;
db.query("INSERT INTO users (nama) VALUES (?)", [nama], (err, result) => {
if (err) throw err;
res.status(201).json({ id: result.insertId, nama });
});
});
app.listen(3000, () => console.log("Server berjalan di http://localhost:3000"));
🔹 Contoh Integrasi dengan MongoDB
// app.js
const express = require("express");
const { MongoClient } = require("mongodb");
const app = express();
app.use(express.json());
const url = "mongodb://localhost:27017";
const client = new MongoClient(url);
const dbName = "belajar_db";
app.get("/users", async (req, res) => {
await client.connect();
const db = client.db(dbName);
const users = await db.collection("users").find().toArray();
res.json(users);
});
app.post("/users", async (req, res) => {
await client.connect();
const db = client.db(dbName);
const result = await db.collection("users").insertOne({ nama: req.body.nama });
res.status(201).json(result);
});
app.listen(3000, () => console.log("Server berjalan di http://localhost:3000"));