MongoDB คืออะไร? ติดตั้งและเริ่มต้นใช้งาน MongoDB เบื้องต้น

Sharing is caring!

แม้ว่า MongoDB จะเป็นฐานข้อมูลแบบ NoSQL แต่ก็ยังเป็นหนึ่งในฐานข้อมูลที่นิยมใช้งานอย่างแพร่หลาย โดยเฉพาะในการพัฒนาแอปพลิเคชันขนาดใหญ่ ในบทความนี้เราจะมาเรียนรู้เกี่ยวกับการใช้งาน MongoDB และ Mongo CLI กัน

MongoDB คืออะไร?

MongoDB เป็นฐานข้อมูลแบบ NoSQL ที่ถูกพัฒนาขึ้นโดยบริษัท MongoDB Inc. ซึ่งมีลักษณะการจัดเก็บข้อมูลแบบ Document-Oriented คือใช้เอกสาร JSON ในการจัดเก็บข้อมูล โดย MongoDB จะไม่มีโครงสร้างแบบตาราง (Table) อย่าง MySQL เพื่อให้การเพิ่มเติมข้อมูล แก้ไข และลบข้อมูลใน MongoDB สามารถทำได้ง่ายและรวดเร็ว

การติดตั้ง MongoDB

เราสามารถติดตั้ง MongoDB ได้โดยใช้การดาวน์โหลดที่ https://www.mongodb.com/try/download/community ซึ่งจะมีเวอร์ชั่นสำหรับ Windows, macOS, และ Linux ให้เลือก ตามระบบปฏิบัติการที่เราใช้งาน

เริ่มต้นใช้งาน MongoDB

หลังจากติดตั้ง MongoDB เสร็จเรียบร้อยแล้ว เราสามารถเริ่มต้นใช้งาน MongoDB ได้โดยการใช้ MongoDB shell หรือ Mongo CLI ซึ่งเป็น command-line interface ที่ใช้ในการเชื่อมต่อกับ MongoDB server

เพื่อเริ่มต้นใช้งาน MongoDB shell เราสามารถเปิด Terminal หรือ Command Prompt ขึ้นมาแล้วพิมพ์คำสั่ง mongo ดังนี้

$ mongo

หลังจากนั้นจะปรากฏข้อความเช่นนี้ “MongoDB shell version v4.4”

การใช้งาน MongoDB shell

เมื่อเราเริ่มต้นใช้งาน MongoDB shell แล้ว เราสามารถใช้คำสั่งต่างๆ เพื่อจัดการข้อมูลในฐานข้อมูล MongoDB ได้ เช่น

1. สำหรับการแสดงข้อมูลในฐานข้อมูล

เราสามารถใช้คำสั่ง db เพื่อแสดงฐานข้อมูลปัจจุบัน และคำสั่ง show dbs เพื่อแสดงรายการฐานข้อมูลทั้งหมด

> db
test
> show dbs
admin      0.000GB
config     0.000GB
local      0.000GB

2. การสร้างฐานข้อมูลและ Collection

สำหรับการสร้างฐานข้อมูล และ Collection เราสามารถใช้คำสั่ง use เพื่อสร้างฐานข้อมูลใหม่ และ collection เพื่อเก็บข้อมูล

> use mydb
switched to db mydb
> db.createCollection('mycollection')
{ "ok" : 1 }

3. การเพิ่มข้อมูลลงใน Collection

สำหรับการเพิ่มข้อมูลลงใน Collection เราสามารถใช้คำสั่ง insertOne หรือ insertMany เพื่อเพิ่มข้อมูลลงใน collection โดยกำหนดให้ข้อมูลเป็น object หรือ array ของ object

> db.mycollection.insertOne({ name: 'John', age: 30 })
{
    "acknowledged" : true,
    "insertedId" : ObjectId("61559d96be3d9e9b1db8cf95")
}
> db.mycollection.insertMany([
    { name: 'Jane', age: 25 },
    { name: 'Bob', age: 40 }
])
{
    "acknowledged" : true,
    "insertedIds" : [
        ObjectId("61559e4fbe3d9e9b1db8cf96"),
        ObjectId("61559e4fbe3d9e9b1db8cf97")
    ]
}

4. การค้นหาข้อมูลใน Collection

สำหรับการค้นหาข้อมูลใน Collection เราสามารถใช้คำสั่ง find หรือ findOne เพื่อค้นหาข้อมูล โดยกำหนดเงื่อนไขในการค้นหาในรูปแบบ object

> db.mycollection.find({ name: 'John' })

5. การอัพเดตและลบข้อมูลใน Collection

สำหรับการอัพเดตข้อมูลใน Collection เราสามารถใช้คำสั่ง updateOne หรือ updateMany เพื่ออัพเดตข้อมูล โดยกำหนดเงื่อนไขในการค้นหาในรูปแบบ object และกำหนดข้อมูลที่ต้องการอัพเดตในรูปแบบ object ด้วย

> db.mycollection.updateOne({ name: 'John' }, { $set: { age: 35 } })
{
    "acknowledged" : true,
    "matchedCount" : 1,
    "modifiedCount" : 1
}

สำหรับการลบข้อมูลใน Collection เราสามารถใช้คำสั่ง deleteOne หรือ deleteMany เพื่อลบข้อมูล โดยกำหนดเงื่อนไขในการค้นหาในรูปแบบ object

> db.mycollection.deleteOne({ name: 'Bob' })
{ "acknowledged" : true, "deletedCount" : 1 }

6. การสร้าง Index

สำหรับการทำงานกับข้อมูลใน MongoDB การสร้าง Index เป็นสิ่งสำคัญที่จะช่วยให้การค้นหาข้อมูลเป็นไปอย่างรวดเร็ว การสร้าง Index เราสามารถใช้คำสั่ง createIndex เพื่อสร้าง Index โดยกำหนด field ที่ต้องการสร้าง Index ในรูปแบบ object และกำหนดประเภทของ Index ด้วย

> db.mycollection.createIndex({ name: 1 })
{
    "createdCollectionAutomatically" : false,
    "numIndexesBefore" : 1,
    "numIndexesAfter" : 2,
    "ok" : 1
}

7. การสำรองข้อมูล

สำหรับการสำรองข้อมูลใน MongoDB เราสามารถใช้คำสั่ง mongodump เพื่อสำรองข้อมูล โดยกำหนด path ที่ต้องการสำรองไฟล์ไว้

> mongodump --db mydb --out /data/backup

8. การเรียกดูข้อมูลด้วย CLI

สำหรับการดูข้อมูล MongoDB ผ่าน CLI เราสามารถใช้คำสั่ง mongoexport และ mongoimport เพื่อดูและนำเข้าข้อมูลในรูปแบบไฟล์ที่ต้องการดูหรือนำเข้าได้

> mongoexport --db mydb --collection mycollection --out /data/export.json

สำหรับการนำเข้าข้อมูลใน MongoDB เราสามารถใช้คำสั่ง mongoimport เพื่อนำเข้าข้อมูล โดยกำหนด path ของไฟล์ที่ต้องการนำเข้า

> mongoimport --db mydb --collection mycollection --file /data/export.json

9. การใช้งาน MongoDB Atlas

MongoDB Atlas เป็นบริการจาก MongoDB ที่ช่วยให้เราสามารถสร้าง MongoDB instance และ deploy ได้อย่างง่ายดาย โดยไม่ต้องเสียเวลาติดตั้งและ configure ให้เอง

เราสามารถสมัครใช้งาน MongoDB Atlas ได้ที่เว็บไซต์ https://www.mongodb.com/cloud/atlas โดยมีขั้นตอนการสร้าง MongoDB instance ดังนี้

  1. เข้าสู่ MongoDB Atlas Dashboard โดยใช้ Account ที่ลงทะเบียนไว้
  2. สร้าง MongoDB instance โดยเลือก Cluster และเลือก Provider และ Region ที่ต้องการ
  3. เลือก Configuration ที่ต้องการสำหรับ MongoDB instance เช่น ประเภท Instance, Storage, Backup และ Network Configuration
  4. ตั้งค่า Security โดยกำหนด IP Address ที่สามารถเข้าถึง MongoDB instance ได้ และสร้าง User สำหรับเข้าใช้งาน MongoDB
  5. เชื่อมต่อ MongoDB instance โดยใช้ MongoDB Compass หรือ CLI ของ MongoDB

สรุปท้ายบทความ

การใช้งาน MongoDB เป็นการใช้งานฐานข้อมูลแบบ NoSQL ที่เป็น Open Source และมีความยืดหยุ่นสูง โดยมีความสามารถในการจัดเก็บข้อมูลแบบ Document และมีการใช้งานง่ายผ่าน MongoDB Shell หรือ CLI ต่าง ๆ ที่ช่วยให้การจัดการฐานข้อมูลเป็นไปอย่างรวดเร็ว การใช้งาน MongoDB Atlas ยังช่วยให้สามารถสร้าง MongoDB instance และ

deploy ได้อย่างง่ายดายโดยไม่ต้องเสียเวลาในการติดตั้งและ configure ให้เอง ซึ่งสามารถสร้าง MongoDB instance ได้ตามความต้องการของโปรเจ็กต์

ในบทความนี้ เราได้รวบรวมข้อมูลเกี่ยวกับ MongoDB ทั้งหมด ตั้งแต่การติดตั้ง MongoDB ไปจนถึงการใช้งาน MongoDB Shell, CLI และ MongoDB Atlas และหวังว่าจะช่วยเพิ่มความรู้ความเข้าใจเกี่ยวกับ MongoDB ให้กับผู้อ่านทุกคน โดยเฉพาะนักพัฒนาซอฟต์แวร์และผู้ที่ต้องการเรียนรู้เกี่ยวกับฐานข้อมูล NoSQL แบบ Document-oriented ที่สามารถใช้งานได้อย่างยืดหยุ่น และมีประสิทธิภาพสูงในการจัดเก็บและแก้ไขข้อมูล

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *