สอนทำเว็บไซต์

การเชื่อมต่อเว็บไซต์กับฐานข้อมูล MongoDB: วิธีทำอย่างง่าย

MongoDB เป็นระบบจัดการฐานข้อมูล NoSQL ที่นิยมใช้ในการพัฒนาสอนทำเว็บไซต์และแอปพลิเคชัน โดยเฉพาะอย่างยิ่งเมื่อข้อมูลที่จัดเก็บไม่เป็นระเบียบหรือมีความซับซ้อนมากกว่าแบบ relational database ซึ่ง MongoDB ช่วยให้การจัดการข้อมูลที่ไม่เป็นตารางง่ายและรวดเร็ว บทความนี้จะแนะนำวิธีการเชื่อมต่อเว็บไซต์กับฐานข้อมูล MongoDB อย่างง่าย โดยใช้ Node.js และ Mongoose ซึ่งเป็นไลบรารีที่ช่วยให้การเชื่อมต่อและทำงานกับ MongoDB ใน JavaScript ง่ายขึ้น

1. เตรียมเครื่องมือและสิ่งที่ต้องใช้

ก่อนที่คุณจะเริ่มเชื่อมต่อเว็บไซต์กับ MongoDB คุณต้องเตรียมเครื่องมือและซอฟต์แวร์ดังนี้:

  • Node.js: เป็น JavaScript runtime ที่จำเป็นในการรันเว็บไซต์ฝั่งเซิร์ฟเวอร์
  • MongoDB: ฐานข้อมูล NoSQL ที่คุณจะเชื่อมต่อ
  • Mongoose: ไลบรารีที่ช่วยให้การทำงานกับ MongoDB ใน Node.js ง่ายขึ้น

2. ติดตั้ง Node.js และ NPM

หากคุณยังไม่ได้ติดตั้ง Node.js และ npm (Node Package Manager) สามารถดาวน์โหลดและติดตั้งได้จากเว็บไซต์ทางการ https://nodejs.org/

หลังจากติดตั้ง Node.js และ npm เรียบร้อยแล้ว ให้เปิด Command Prompt หรือ Terminal และตรวจสอบเวอร์ชันของ Node.js และ npm:

bash
node -v
npm -v

หากได้เวอร์ชันแสดงว่า Node.js และ npm พร้อมใช้งาน

3. สร้างโปรเจกต์ Node.js

เปิด Command Prompt หรือ Terminal และไปยังโฟลเดอร์ที่คุณต้องการสร้างโปรเจกต์ จากนั้นใช้คำสั่งนี้เพื่อสร้างโปรเจกต์ใหม่:

bash
mkdir my-website
cd my-website
npm init -y

คำสั่ง npm init -y จะสร้างไฟล์ package.json ที่ใช้ในการจัดการ dependencies ต่างๆ ในโปรเจกต์

4. ติดตั้ง Mongoose

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

bash
npm install mongoose

เมื่อเสร็จแล้ว คุณจะเห็นไฟล์ node_modules และ package-lock.json ในโฟลเดอร์โปรเจกต์

5. เชื่อมต่อ MongoDB

ในขั้นตอนนี้ คุณจะเชื่อมต่อ MongoDB ด้วย Mongoose โดยใช้ URL ของ MongoDB server ซึ่งอาจจะเป็น MongoDB ที่ติดตั้งในเครื่อง (local) หรือ MongoDB Atlas ซึ่งเป็นบริการฐานข้อมูลคลาวด์ของ MongoDB

5.1 เชื่อมต่อ MongoDB ในเครื่อง

หากคุณติดตั้ง MongoDB ในเครื่องของคุณและรันเซิร์ฟเวอร์ MongoDB บนพอร์ตเริ่มต้น (27017) ให้ใช้ URL แบบนี้ในการเชื่อมต่อ:

javascript

const mongoose = require('mongoose');

mongoose.connect(‘mongodb://localhost:27017/myDatabase’, {
useNewUrlParser: true,
useUnifiedTopology: true
})
.then(() => console.log(‘MongoDB connected’))
.catch(err => console.log(err));

5.2 เชื่อมต่อ MongoDB Atlas (คลาวด์)

หากคุณใช้ MongoDB Atlas (บริการฐานข้อมูล MongoDB บนคลาวด์) ให้ทำตามขั้นตอนเหล่านี้:

  1. เข้าไปที่ MongoDB Atlas และสร้างบัญชี (หากยังไม่มี)
  2. สร้างคลัสเตอร์ใหม่ และบันทึก Connection String ที่แสดงให้เห็น
  3. แก้ไข URL ในโค้ดเชื่อมต่อเพื่อให้ตรงกับ Connection String ของคุณ (โดยใส่ชื่อผู้ใช้และรหัสผ่านที่คุณตั้งไว้)

ตัวอย่างเชื่อมต่อ MongoDB Atlas:

javascript

const mongoose = require('mongoose');

mongoose.connect(‘mongodb+srv://username:password@cluster0.mongodb.net/myDatabase’, {
useNewUrlParser: true,
useUnifiedTopology: true
})
.then(() => console.log(‘MongoDB connected’))
.catch(err => console.log(err));

6. สร้าง Schema และ Model

หลังจากเชื่อมต่อ MongoDB สำเร็จแล้ว คุณสามารถเริ่มสร้าง Schema และ Model เพื่อจัดการข้อมูลในฐานข้อมูล

ตัวอย่างการสร้าง Schema และ Model ใน Mongoose:

javascript

const mongoose = require('mongoose');

// สร้าง Schema สำหรับผู้ใช้
const userSchema = new mongoose.Schema({
name: {
type: String,
required: true
},
email: {
type: String,
required: true,
unique: true
},
age: {
type: Number,
required: true
}
});

// สร้าง Model จาก Schema
const User = mongoose.model(‘User’, userSchema);

// ตัวอย่างการบันทึกข้อมูล
const newUser = new User({
name: ‘John Doe’,
email: ‘johndoe@example.com’,
age: 30
});

newUser.save()
.then(() => console.log(‘User saved’))
.catch(err => console.log(err));

ในตัวอย่างข้างต้น:

  • เราสร้าง Schema สำหรับผู้ใช้ (user) ที่มีชื่อ, อีเมล, และอายุ
  • เราสร้าง Model ที่ชื่อว่า User ซึ่งจะใช้ในการทำงานกับข้อมูลผู้ใช้
  • จากนั้นเราสร้างอินสแตนซ์ใหม่ของ Model และบันทึกข้อมูลผู้ใช้ลงในฐานข้อมูล

7. ดึงข้อมูลจาก MongoDB

หลังจากบันทึกข้อมูลลง MongoDB คุณสามารถดึงข้อมูลมาใช้งานได้โดยใช้คำสั่ง find() หรือคำสั่งอื่นๆ ตามต้องการ

ตัวอย่างการดึงข้อมูล:

javascript
User.find()
.then(users => {
console.log(users);
})
.catch(err => console.log(err));

คำสั่งนี้จะดึงข้อมูลผู้ใช้ทั้งหมดในฐานข้อมูลและแสดงผลใน console

8. สรุป

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

การใช้ Mongoose ทำให้การทำงานกับ MongoDB ใน Node.js ง่ายขึ้น และช่วยให้การจัดการข้อมูลเป็นระเบียบและมีประสิทธิภาพมากขึ้น ดังนั้นการเรียนรู้วิธีการเชื่อมต่อ MongoDB จึงเป็นทักษะสำคัญสำหรับการพัฒนาสอนทำเว็บไซต์ในปัจจุบัน

Leave A Comment