Skip to content
Siamcoder

การทำงานกับฐานข้อมูลใน TypeScript

typescript1 min read

การทำงานกับฐานข้อมูลใน TypeScript นั้นสามารถทำได้หลากหลายวิธี ซึ่งเราสามารถใช้เฟรมเวิร์คหรือไลบรารีต่าง ๆ เพื่อเชื่อมต่อและทำงานกับฐานข้อมูลได้ ตัวอย่างด้านล่างนี้จะเป็นตัวอย่างการใช้งาน MongoDB ใน TypeScript:

// ติดตั้งแพคเกจ mongodb ผ่าน npm
// npm install mongodb
import { MongoClient } from "mongodb";
// URL ของ MongoDB
const url = "mongodb://localhost:27017";
// ชื่อฐานข้อมูล
const dbName = "mydatabase";
// ชื่อคอลเลคชัน
const collectionName = "mycollection";
// ฟังก์ชันสำหรับเชื่อมต่อกับฐานข้อมูลและดำเนินการ
async function connectAndOperate() {
try {
// เชื่อมต่อกับ MongoDB
const client = await MongoClient.connect(url);
// เลือกใช้งานฐานข้อมูล
const db = client.db(dbName);
// เลือกใช้งานคอลเลคชัน
const collection = db.collection(collectionName);
// ดำเนินการกับฐานข้อมูล
// เช่น เพิ่มข้อมูล
const data = { name: "John Doe", age: 30 };
await collection.insertOne(data);
// ค้นหาข้อมูล
const query = { age: { $gt: 25 } };
const result = await collection.find(query).toArray();
// แสดงผลข้อมูล
console.log(result);
// ปิดการเชื่อมต่อ
client.close();
} catch (error) {
// จัดการข้อผิดพลาดที่เกิดขึ้น
console.log(error);
}
}
// เรียกใช้งานฟังก์ชัน connectAndOperate
connectAndOperate();`

ในตัวอย่างนี้ เราใช้ไลบรารี mongodb เพื่อเชื่อมต่อกับ MongoDB ซึ่งเราต้องติดตั้งแพคเกจดังกล่าวผ่าน npm ก่อน ในตัวอย่างนี้ เรากำหนด URL ของ MongoDB เป็น "mongodb://localhost:27017" และกำหนดชื่อฐานข้อมูลเป็น "mydatabase" และชื่อคอลเลคชันเป็น "mycollection" ในฟังก์ชัน connectAndOperate เราเรียกใช้ MongoClient.connect เพื่อเชื่อมต่อกับ MongoDB และทำการเลือกใช้งานฐานข้อมูลและคอลเลคชันตามที่กำหนด จากนั้นเราสามารถดำเนินการต่าง ๆ กับฐานข้อมูลได้ เช่น เพิ่มข้อมูลด้วย collection.insertOne และค้นหาข้อมูลด้วย collection.find สุดท้าย เราแสดงผลลัพธ์ข้อมูลในคอลเลคชันผ่าน console.log และปิดการเชื่อมต่อกับ MongoDB ด้วย client.close

เมื่อเราทำการเชื่อมต่อกับฐานข้อมูล MongoDB และสามารถดำเนินการต่าง ๆ กับฐานข้อมูลได้ใน TypeScript แล้ว เรายังสามารถใช้ไลบรารีหรือเฟรมเวิร์กอื่น ๆ เพื่อทำงานกับฐานข้อมูลอื่น ๆ ได้ตามความต้องการ เช่น PostgreSQL, MySQL, SQL Server ฯลฯ

นอกจากนี้ยังมีเฟรมเวิร์ก ORM (Object-Relational Mapping) ที่ช่วยให้เราสามารถจัดการฐานข้อมูลแบบออบเจ็กต์ได้ง่ายขึ้น เช่น Sequelize, TypeORM, Prisma ฯลฯ โดยเฟรมเวิร์กเหล่านี้จะช่วยแปลงข้อมูลจากฐานข้อมูลให้อยู่ในรูปแบบของออบเจ็กต์ในภาษา TypeScript เพื่อให้ง่ายต่อการใช้งานและจัดการข้อมูล

อีกทั้งยังมีเครื่องมือที่ช่วยในการจัดการฐานข้อมูลอื่น ๆ แบบ NoSQL อีกด้วย เช่น Firebase, MongoDB Atlas, Amazon DynamoDB ฯลฯ ซึ่งเครื่องมือเหล่านี้มี API ที่ใช้งานง่ายและให้ความยืดหยุ่นสูงในการทำงานกับฐานข้อมูลแบบ NoSQL

อย่างไรก็ตาม การทำงานกับฐานข้อมูลใน TypeScript นั้นขึ้นอยู่กับความต้องการและเป้าหมายของโปรเจกต์ของคุณ คุณสามารถเลือกใช้เฟรมเวิร์กหรือเครื่องมือที่เหมาะสมกับความต้องการและความถนัดของคุณได้