ใช้งาน MongoDB ด้วยบริการของ mLab


What is “mLab”

mLab เป็นบริการบริการหนึ่งที่ให้บริการเกี่ยวกับฐานข้อมูลออนไลน์ หรือเรียกให้หรูหราว่า Cloud Database Service ซึ่งหมายความว่าเราไม่ต้องติดตั้งฐานข้อมูลบนเครื่อง แต่ไปเรียกใช้งานฐานข้อมูลผ่านบริการของ mLab ได้เลย ทำให้ลดความยุ่งยากให้การติดตั้งฐานข้อมูลไว้บนเครื่องได้เยอะ

mLab ถูกให้บริการฐานข้อมูลในแบบ MongoDB หรือในลักษณะ NoSQL ซึ่งเป็นที่นิยมในปัจจุบัน ดังนั้นเวลาจะเรียกใช้งาน Database ก็ใช้คำสั่งของ Mongodb เรียกใช้งานได้เลย ใครอยากรู้ว่า MongoDB หรือ NoSQL คืออะไรตามลิ้งค์ไปอ่านได้เลย — MongoDB คืออะไร? + สอนวิธีใช้งานเบื้องต้น

Create Database

ในการสร้าง Database ทาง mLab ได้มีให้บริการแบบเสียเงินกับฟรี ซึ่งแบบเสียเงินและแบบฟรีก็มีบริการความสามารถให้ใช้แตกต่างกัน ในบทความนี้เราจะทดลองให้แบบฟรีกันครับ ซึ่งแบบฟรีจะมีขนาดให้ใช้งานได้ 500MB ซึ่งก็เพียงพอสำหรับคนที่ทดลองใช้หรือนำไปใช้กับโปรเจคที่มีขนาดใหญ่ไม่มาก

ทำการเลือกรายละเอียดตามภาพด้านล่างเพื่อใช้งานฟรีได้เลยครับ

ระบุชื่อ Dataname ของเราจากนั้นคลิกสร้าง Database ได้เลยครับ

เย้!! ได้ Database มาใช้งานกันฟรีๆ แล้ว

Add Database Users

ในการจะเชื่อมต่อฐานข้อมูลเราจำเป็นต้องสร้าง User ที่จะสามารถเข้าไปเพิ่มหรือแก้ไขข้อมูลภายใน Database ของเราเสียก่อน

Add database user เลยครับ

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

ในตัวอย่างนี้ผมจะสร้าง User ขึ้นมา 2 คน ซึ่งคนหนึ่งมีสิทธิ์สามารถเพิ่มลบอ่านข้อมูลได้ทั้งหมดและอีกคนหนึ่งสามารถอ่านข้อมูลได้เท่านั้น

Connect Database

ในการเชื่อมต่อฐานข้อมูลจะมีรายละเอียดการการเชื่อมต่อด้วยวิธีการแบบต่างๆ ซึ่งเราสามารถเข้าไปดูได้ที่ตัว Database ของเรา

ในตัวอย่างนี้จะลองเพิ่มข้อมูลไปยัง Database ผ่าน Mongo Shell ให้เปิด Command Line หรือ Terminal และพิมพ์คำสั่งเพื่อเชื่อมต่อไปยังฐานข้อมูลโดย User ที่ใช้จะเป็น User ที่มีสิทธิ์เพิ่มลบหรืออ่านข้อมูลได้ทั้งหมด

>   mongo ds133932.mlab.com:33932/rov -u <dbuser> -p <dbpassword>

เมื่อเชื่อมต่อเรียบร้อยแล้ว เราจะเพิ่มข้อมูล Hero ต่างๆ ลงไปใน Database โดยข้อมูลคร่าวๆ ที่ผมเตรียมไว้ตามนี้ครับ (คร่าวๆ จริงๆ -*-)

พิมพ์คำสั่งเพิ่มข้อมูลตามที่ให้ไว้ลงไป

> db.hero.insert(<ข้อมูลตามด้านบน>)

พิมพ์คำสั่งเพื่อดูว่ามีข้อมูลถูกเพิ่มลงไปหรือไม่

> db.hero.find({})

ผลลัพธ์ที่ได้จะออกมาตามรูปด้านล่าง (** _id จะได้ออกมาไม่เหมือนกัน)

ใน mLab ก็จะแสดงข้อมูลที่เรามีอยู่

ตัวอย่างต่อไปเราจะมาลองดึงข้อมูลมาแสดงด้วย Node.js โดยใช้ MongoDB URI และ User ที่ใช้ Connect Database จะเป็นแบบ Read only

** Code ด้านล่างให้แก้ตัวแปร uri เป็น MongoDB URI ของท่าน

เปิด Browser เข้าไปยัง http://localhost:11555 ก็จะได้หน้าตาเว็บออกมาดังนี้…

หน้าตาอย่างห่วย เอาเป็นว่าดึงมาได้ก็แล้วกัน อิอิ

Like what you read? Give Passakorn Rattanaparpan a round of applause.

From a quick cheer to a standing ovation, clap to show how much you enjoyed this story.