MEANMongoDB

MEAN Stack กับฐานข้อมูล: ภาควิธีใช้ PostgresSQL

เรื่องที่เกี่ยวข้อง - MEAN, MEAN for PostgresSQL, MEAN Stack, MongoDB

มาจัดอบรมเรื่องการทำเว็บแอพด้วย MEAN Stack ที่โรงงานของ บริษัท ไทย นิปปอน เซเกอิ มีโจทย์ที่น่าสนใจ คือ

ถึงแม้ MEAN Stack โดยปกติจะใช้ MongoDB เป็นฐานข้อมูล แต่ที่โรงงานยังใช้ PostgreSQL อยู่ จะใช้ MEAN กับ Postgres ได้ไหม?

ได้แน่นอน

เพราะถ้าเราย้อนไปดูภาพใหญ่ MEAN เป็นการรวมเทคโนโลยีเข้ามาใช้ในแต่ละส่วนของ Web Stack ดังภาพ

MEAN-application-stack
Web Application Stack แบบ MEAN

จะเห็นว่าส่วนของ Database ที่เป็น MongoDB นั้น สามารถสลับไปใช้ฐานข้อมูลอื่นได้ อย่าง MySQL, CouchDB, หรือแม้แต่ Postgres ที่เรากำลังอ่านอยู่นี้

ซึ่งถ้าเข้าใจแนวคิดการทำงานแบบ Module ของ NodeJS แล้ว เหมือนป้อนกล้วยเข้าปากลิงเลยล่ะ

วิธีติดตั้ง PostgresSQL Module

ในที่นี้ โค้ชพลเลือกใช้ pg-promise ซึ่งเป็น Node ที่ใช้งานได้ดีตัวหนึ่งเลยทีเดียว

ขั้นแรกก็ต้องสั่งติดตั้ง Node Package สำหรับเชื่อมต่อกับ PostgresSQL ก่อนเลย

npm install pg-promise

วิธีต่อฐานข้อมูล Postgres จาก MEAN Stack

ในที่นี้โค้ชพล เริ่มเชื่อมต่อภายในไฟล์ app.js ซึ่งเป็นแกนหลักของ ExpressJS เลยนะ

var pop = require('pg-promise');

จากนั้นเราก็สร้าง Database Instance ใช้ในเว็บแอพของเราได้

var db = pgp("postgres://username:password@host:port/database");

จากนั้นถ้าต้องการใช้ Database Instance เราก็ส่งเข้าไปทาง request object ทาง Middleware

app.use(function(req, res, next){
   req.db = db;
   next();
});

เป็นอันเสร็จพิธีเตรียม Database Instance

ทีนี้จะใช้ SQL Statement ยังไงลองดูด้านล่างกันเล้ย

วิธีใช้ SQL Statement กับ Postgres ใน ExpressJS

พอถึงเวลาเรียกใช้ เราก็สามารถดึง Database Instance เข้ามาใน Route ที่ต้องการได้เช่น

route.get('/', function(req, res, next){
   var db = req.db;
   ...
});

แล้วเราก็สามารถใช้ SQL query ข้อมูลได้ในรูปแบบของ JavaScript Promise นี่แหละ

db.any("select * from users")
    .then(function (data) {
        // success เข้า function นี้;
    })
    .catch(function (error) {
        // error เข้า function นี้;
    });

หรือถ้าต้องการ Insert ข้อมูลเข้า Postgres ก็ตามนี้ได้สบายๆ

db.none("insert into users(name,password) values($1, $2)", ['Teerasej', password])
    .then(function () {
        // success;
    })
    .catch(function (error) {
        // error;
    });

น่าจะพอเห็นภาพการใช้งานฐานข้อมูล Postgres กับ MEAN Stack แล้วล่ะ สนใจดูรายละเอียดเพิ่มเติมได้ที่นี่ หรือสงสัยอะไรมาคุยกันใน comment ด้านล่างจ้า

อบรม MEAN Stack ในองค์กร

สนใจจัดอบรม MEAN Stack เข้าใจได้ง่าย สบายๆ ที่บริษัท หรือองค์กร โทร 083-071-3373 ได้เลยครับ

อ้างอิง – pg-promise, ExpressJS 

 

เริ่มต้นยุค AI ด้วยคอร์สฟรี และพรีเมี่ยม กับพล

หากชอบสิ่งที่พลเล่า เรื่องที่พลสอน สามารถสนับสนุนพลโดยการเข้าเรียนคอร์สออนไลน์ของพลนะคร้าบ

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

เราใช้คุกกี้เพื่อพัฒนาประสิทธิภาพ และประสบการณ์ที่ดีในการใช้เว็บไซต์ของคุณ คุณสามารถศึกษารายละเอียดได้ที่ นโยบายความเป็นส่วนตัว และสามารถจัดการความเป็นส่วนตัวเองได้ของคุณได้เองโดยคลิกที่ ตั้งค่า

Privacy Preferences

คุณสามารถเลือกการตั้งค่าคุกกี้โดยเปิด/ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น

Allow All
Manage Consent Preferences
  • Always Active

Save