วิธีติดตั้ง MongoDB และการใช้งานเบื้องต้น บน Ubuntu 18.04 LTS

HashtagF
4 min readJun 11, 2018

--

บทความนี้เป็นบทความสอนการติดตั้งฐานข้อมูล MongoDB และการใช้งานคำสั่งเบื้องต้นสำหรับ Ubuntu 18.04 LTS ครับ มาดูวิธีติดตั้งและการใช้งานเบื้องต้นกันเลยครับ

mongoDB เป็น open-source document database โดยเป็นฐานข้อมูลแบบ NoSQL คือไม่มีความสัมพันธ์ของแบบตารางแบบ SQL ทั่วไป แต่จะเก็บข้อมูลเป็น JSON (JavaScript Object Notation) แทนการบันทึกข้อมูลแบบ record ใน mongoDB จะเรียกว่า Document จะเก็บข้อมูลเป็นแบบ Key , Value และมี ( _Id ) เป็น Primary Key และ mongoDB ไม่มี schema คือไม่ต้องกำหนดโครงสร้างใดๆก็ได้ครับ

ขั้นตอนที่ 1 : ติดตั้งฐานข้อมูล MongoDB

ในขั้นตอนนี้จะเป็นการติดตั้งฐานข้อมูล MongoDB และเปิดใช้งาน service ของ MongoDB ครับ

  • ขั้นแรกทำการ Import Public Key เพื่อให้ Ubuntu รับประกันความถูกต้องของ software ด้วย GPG Key โดยใช้คำสั่งด้านล่างนี้ครับโดยการรันบน Terminal
$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA: 4AD5

Key นี้ 2930ADAE8CAF5059EE73BB4B58712A2291FA: 4AD5 ที่ได้มา อ้างอิงจาก Reference (3) ครับ

Terminal
  • ต่อมาเป็นการสร้างไฟล์ list ของ MongoDB เพื่อให้ apt รู้ว่าต้องมีการ Download Package ข้อมูลผ่านลิ้งนี้ครับ โดยใช้คำสั่งดังนี้
echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list

หมายเหตุ

คำสั่งด้านบนไว้ใช้สำหรับ Ubuntu 18.04 เท่านั้นหากต้องการ Ubuntu version อื่นแนะนำเข้าไปที่ Link ด้านล่างนี้ครับ

  • เมื่อทำการสร้างไฟล์ list ที่ใช้ในการ Download แล้วจากนั้นทำการอัพเดทระบบปฏิบัติการ Ubuntu ของเรา โดยใช้คำสั่งด้านล่างนี้
$ sudo apt-get update
  • เมื่ออัพเดทเสร็จแล้วให้ทำการติดตั้ง Package MongoDB ด้วยคำสั่ง
$ sudo apt-get install -y mongodb-org

หมายเหตุ

การใช้คำสั่งด้านบนนี้คือการติดตั้ง version ล่าสุดเท่านั้นถ้าหากต้องการเลือก version ที่ต้องการติดตั้งสามารถเลือกใช้คำสั่งนี้ได้ครับ

sudo apt-get install -y mongodb-org=4.0.1 mongodb-org-server=4.0.1 mongodb-org-shell=4.0.1 mongodb-org-mongos=4.0.1 mongodb-org-tools=4.0.1

โดยเลขด้านหลังชื่อ Package ไว้เลือก version ที่เราต้องการครับสามารถเปลี่ยนเป็นเลข version ที่เราต้องการได้เลยครับ
เช่น mongodb-org=3.6.2 , mongodb-org-server=3.6.2 เป็นต้นครับ

  • เมื่อทำการติดตั้ง Package เสร็จเรียบร้อยสามารถเปิดใช้งาน service ด้วยคำสั่ง
$ sudo service mongod start // ทำการเปิดใช้งาน Service
$ sudo service mongod stop // ทำการปิดใช้งาน Service
$ sudo service mongod restart // ทำการ Restart Service

ขั้นตอนที่ 2 : การใช้งานคำสั่ง MongoDB เบื้องต้น

ในขั้นตอนนี้เป็นการบอกรายละเอียดเกี่ยวกับการใช้งานคำสั่งเบื้องต้นของ MongoDB เช่น การ Insert, Update, Delete, Find ครับ

  • ก่อนอื่นก่อนที่จะใช้คำสั่งต่างๆเราก็ต้องเข้าใช้งาน MongoDB ก่อนครับด้วยคำสั่งด้านล่างนี้ครับ
$ mongo
ภาพเมื่อเราพิมพ์คำสั่ง mongo
  • เมื่อเข้ามาในการทำงานของ mongo แล้วหน้าตาก็จะเป็นประมาณนี้ครับ
  • โดยคำสั่งแล้วที่เราจะมาลองกันครับเป็นคำสั่งแสดงว่าเรามี Database อะไรบ้างอยู่ใน mongoDB นะครับ โดยใช้คำสั่งนี้ครับ
> show dbs     // dbs หมายความว่า databases
แสดงผลว่าเรามี Database อะไรอยู่บ้างใช้งานพื้นที่ไปเท่าไหร่ครับ

เมื่อเราใช้คำสั่งจะแสดงว่าเรามี database สองตัวคือ admin , local ครับ

  • ต่อมาเป็นการสร้าง Database ที่เราต้องการครับเราอาจจะไม่ใช้ที่มีมาให้ครับสามารถสร้างขึ้นใหม่ได้เลยครับ ด้วยคำสั่งนี้ครับ
> use test
> db.test.save({})

อธิบายคำสั่ง

use : คือคำสั่งเลือกใช้ฐานข้อมูลที่เราต้องการทำงานด้วยครับ
db : คือ database ที่เรา use ไปตอนแรกครับว่าเราจะใช้ทำงาน
test : ก็คือชื่อ collection หรือ table ที่เราจะเพิ่มข้อมูลลงไป
save() : คือคำสั่ง insert ของ mongoDB ครับ ส่วนในวงเล็บของ save คือ object
ที่เราต้องการ insert ครับ

คำสั่งด้านบนเป็นคำสั่งสร้าง Database ครับโดยก่อนอื่นเราต้องตั้งชื่อหรือเลือกใช้ Database กันก่อนครับด้วยคำสั่ง use test (test ก็คือชื่อ database ใหม่ของเราครับ)
แล้วจากนั้นก็เพิ่มข้อมูลเปล่าๆลงไปเพื่อให้เกิด Database ขึ้นครับ
ด้วยคำสั่ง db.test.save({})

ภาพการใช้คำสั่งสร้าง Database ครับ
  • ต่อไปเป็นการสร้าง Table ใน mongoDB แต่ใน mongoDB จะเรียกว่า Collection ครับ คำสั่งในการสร้าง Collection ก็เหมือนกับว่าเราต้อง Insert ข้อมูลลงไปใน Collection เพื่อให้เกิด Collection นั้นขึ้นมา
  • และนี่คือคำสั่ง Insert ที่ใช้ใน mongoDB ครับ
> db.collectionName.save({ตามด้วย Data ที่ต้องการจะ Insert ลงไป})
Example.
> db.users.save({user: 'admin', pass: 'password'})

อธิบายคำสั่ง

db : เป็นฐานข้อมูลที่เราเลือกใช้หรือ use ไว้ว่าจะเพิ่มข้อมูลในฐานข้อมูลไหน
collectionName :
เป็นชื่อ collection ที่เราต้องการ insert ครับว่าจะไว้ใน collection
ไหนครับ
save() : เป็นคำสั่งในการ insert ครับ ส่วนในวงเล็บของเป็นส่วน object ที่เราต้องการ insert เข้าไปครับเป็น JSON

แสดงผลหลังจากใช้คำสั่ง insert
  • เมื่อมีการเพิ่มข้อมูลลง Collection สำเร็จแล้ว
  • ต่อไปก็จะเป็น find ดูว่าข้อมูลนั้นลงไปในฐานข้อมูลจริงๆมั้ย ด้วยคำสั่งนี้ครับ
> db.collectionName.find()
Example.
> db.users.find()

อธิบายคำสั่ง

db : เป็นฐานข้อมูลที่เราเลือกหรือ use ตอนแรกว่าจะ find ฐานข้อมูลไหน
collectionName : เป็นชื่อ collection ที่เราต้องการ find หรือ query ข้อมูล
find() : เป็นคำสั่งการ find ข้อมูลใน collection นั้นๆ

แสดงผลของการใช้คำสั่ง find
  • เท่านี้ก็สามารถ find ข้อมูลที่เราต้องการได้แล้วแต่การ find ข้อมูลยังมีอีกหลายแบบครับสามารถศึกษาต่อได้ที่ลิ้งด้านล่างนี้ครับ
  • ต่อไปก็จะเป็นการอัพเดทข้อมูลที่เราเคยเพิ่มลงไปแล้วครับโดยการใช้คำสั่ง Update ก็มีคำสั่งดังนี้ครับ
> db.collectionName.update({ตามด้วย Data ที่จะ Update})
Example
> db.users.update({user: 'admin'}, {$set: {pass: 'UpdatePass'}})

อธิบายคำสั่ง

db : เป็นฐานข้อมูลที่เราเลือกหรือ use ตอนแรกว่าจะแก้ไขข้อมูลในฐานข้อมูลไหน
collectionName : เป็นชื่อ collection ที่เราต้องการ update หรือแก้ไข
update() : คำสั่งในการอัพเดทข้อมูลที่เราต้องการโดยในวงเล็บจะแบ่งเป็นสองส่วนคือ ส่วนแรกส่วนที่เราต้องการว่าเราจะแก้ข้อมูลไหน เช่น ตัวอย่าง ต้องการแก้ไขข้อมูลที่ field ‘user’ มีค่าเป็น ‘admin’
ส่วนที่สองคือว่าเราจะแก้ไขข้อมูลอะไร เช่นตัวอย่าง ต้องการแก้ไข field ‘pass’ ให้เป็น ‘UpdatePass’

แสดงผลของการใช้คำสั่ง Update
  • สรุปคือคำสั่งด้านบนนี้คือการแก้ไขข้อมูลถ้า field user มีค่าเป็น admin ให้แก้ไข field pass ของ object นั้นเป็น ‘Updatepass’
  • สุดท้ายครับเป็นคำสั่งลบข้อมูลออกจาก Collection ครับหรือก็คือคำสั่ง Remove นั้นเองครับ โดยใช้คำสั่งด้านล่างครับ
db.CollectionName.remove({ตามด้วย Object ที่ต้องการจะลบ})
Example.
> db.users.remove({user: 'admin'})

อธิบายคำสั่ง

db : เป็นฐานข้อมูลที่เราเลือกหรือ use ตอนแรกว่าจะลบข้อมูลในฐานข้อมูลไหน
collectionName : เป็นชื่อ collection ที่เราต้องการลบข้อมูล
remove() : เป็นคำสั่งลบข้อมูลนั้นๆ โดยในวงเล็บคือการเลือกข้อมูลที่เราจะลบโดยการใส่เงื่อนไขเข้าไป เช่นตัวอย่างด้านบนคือ การลบข้อมูลที่มี field ‘user’ ไหนมีค่าเท่ากับ ‘admin’ ให้ทำการลบ object นั้นเลย

แสดงผลการลบข้อมูล ลบเรียบร้อยก็จะไม่มีข้อมูลแสดง
  • เท่านี้เราก็สามารถลบข้อมูลออกจาก collection หรือฐานข้อมูลเราได้แล้วครับ

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

--

--