Skip to main content

เนื้อหาภาษาไทย / Thai content

System guide Content reviewed

MongoDB Shell: เครื่องมือคู่ใจนักพัฒนา

บทความนี้แนะนำ MongoDB Shell (mongosh) ซึ่งเป็น Command-Line Interface ที่ใช้ในการโต้ตอบกับ MongoDB Server โดยผู้ใช้สามารถใช้ Shell เพื่อจัดการฐานข้อมูลและ Coll...

MongoDB Shell: เครื่องมือคู่ใจนักพัฒนา

ยินดีต้อนรับกลับสู่บทเรียน MongoDB ครับ! ในบทที่แล้ว เราได้ทำการติดตั้ง MongoDB Community Edition บนเครื่องของคุณเรียบร้อยแล้ว ตอนนี้ถึงเวลาที่เราจะมาทำความรู้จักกับเครื่องมือสำคัญที่จะช่วยให้เราจัดการฐานข้อมูลและ Collection ใน MongoDB ได้อย่างมีประสิทธิภาพ นั่นก็คือ MongoDB Shell นั่นเอง

MongoDB Shell หรือ mongosh คือ Command-Line Interface (CLI) ที่ช่วยให้เราสามารถโต้ตอบกับ MongoDB Server ได้โดยตรง เราสามารถใช้ Shell เพื่อสร้าง, อ่าน, แก้ไข, ลบ (CRUD Operations) ข้อมูล, ค้นหาข้อมูล, และจัดการโครงสร้างของฐานข้อมูลได้

การเชื่อมต่อกับ MongoDB Server

ก่อนอื่นเลย เราต้องเปิด MongoDB Server ให้ทำงานก่อนนะครับ โดยปกติแล้ว เมื่อคุณติดตั้ง MongoDB จะมี Service ที่ทำงานอยู่เบื้องหลังอยู่แล้ว แต่ถ้ายังไม่แน่ใจ ให้เปิด Command Prompt (Windows), Terminal (macOS/Linux) แล้วลองพิมพ์คำสั่งนี้:

mongod

ถ้า MongoDB Server ทำงานอยู่แล้ว คุณจะเห็นข้อความแสดงผลใน Terminal ที่บอกว่า Server กำลังรอการเชื่อมต่ออยู่ ถ้าหากไม่มี Service ทำงานอยู่ คำสั่งนี้จะเริ่มต้น MongoDB Server

ข้อผิดพลาดที่พบบ่อย: หากคุณได้รับข้อความแจ้งว่า "mongod" ไม่รู้จัก ให้ตรวจสอบให้แน่ใจว่าคุณได้ตั้งค่า Environment Variables อย่างถูกต้องตามที่ได้อธิบายไว้ในบทที่แล้ว

เมื่อ MongoDB Server ทำงานแล้ว เราก็มาเปิด MongoDB Shell กันเลยครับ เปิด Command Prompt/Terminal อีกหน้าต่างหนึ่ง แล้วพิมพ์คำสั่งนี้:

mongosh

หากการเชื่อมต่อสำเร็จ คุณจะเห็นข้อความต้อนรับและ Prompt ที่คล้ายกับ:

MongoDB shell version vX.X.X
connecting to: mongodb://127.0.0.1:27017/?directConnection=true&serverSelectionTimeoutMS=2000
Using MongoDB: X.X.X
...
>

ตัวเลข X.X.X คือเวอร์ชันของ MongoDB ที่คุณกำลังใช้งานอยู่ และเครื่องหมาย > คือ Prompt ที่รอรับคำสั่งจากเรา

คำสั่งพื้นฐานใน MongoDB Shell

ตอนนี้เรามาลองใช้คำสั่งพื้นฐานบางคำสั่งใน MongoDB Shell กันครับ

1. show dbs: แสดงรายชื่อฐานข้อมูลทั้งหมด

คำสั่ง show dbs จะแสดงรายชื่อฐานข้อมูลทั้งหมดที่มีอยู่ใน MongoDB Server ของคุณ ลองพิมพ์คำสั่งนี้ใน Shell:

show dbs

คุณจะเห็นรายชื่อฐานข้อมูลพร้อมกับขนาดของแต่ละฐานข้อมูล (เป็นหน่วย GB)

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

2. use <database>: เลือกฐานข้อมูลที่จะใช้งาน

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

use mydatabase

MongoDB จะสลับไปใช้งานฐานข้อมูล mydatabase ทันที ถ้าฐานข้อมูล mydatabase ยังไม่มีอยู่ MongoDB จะสร้างฐานข้อมูลนี้ให้เราเมื่อเราเริ่มทำการเขียนข้อมูลลงไป

ข้อควรจำ: MongoDB จะไม่สร้างฐานข้อมูลจริงๆ จนกว่าคุณจะทำการเขียนข้อมูลลงไปอย่างน้อย 1 Document

3. show collections: แสดงรายชื่อ Collection ในฐานข้อมูลปัจจุบัน

คำสั่ง show collections จะแสดงรายชื่อ Collection ทั้งหมดที่มีอยู่ในฐานข้อมูลที่คุณกำลังใช้งานอยู่ หากคุณยังไม่ได้สร้าง Collection ใดๆ คุณจะไม่เห็นอะไรเลย

ลองพิมพ์คำสั่งนี้ใน Shell (หลังจากที่คุณได้เลือกฐานข้อมูลแล้ว):

show collections

Collection คืออะไร? Collection คือกลุ่มของ Documents ที่คล้ายคลึงกับ Table ในฐานข้อมูลเชิงสัมพันธ์ (Relational Database) แต่มีความยืดหยุ่นมากกว่า เพราะแต่ละ Document ใน Collection สามารถมีโครงสร้างที่แตกต่างกันได้

การสร้างและลบ Database และ Collection

1. การสร้าง Database

อย่างที่กล่าวไปแล้ว MongoDB จะสร้าง Database ให้เราโดยอัตโนมัติเมื่อเราเริ่มทำการเขียนข้อมูลลงไปใน Collection ภายใน Database นั้น ตัวอย่างเช่น ถ้าเราต้องการสร้าง Database ชื่อ newdb และ Collection ชื่อ users เราสามารถทำได้โดยการแทรก Document ลงใน Collection users ดังนี้:

use newdb
db.users.insertOne({ name: "John Doe", age: 30 })

คำสั่ง db.users.insertOne() จะแทรก Document หนึ่ง Document ที่มี field name และ age ลงใน Collection users ใน Database newdb

หลังจากที่แทรก Document แล้ว ลองพิมพ์ show dbs คุณจะเห็นว่า Database newdb ได้ถูกสร้างขึ้นแล้ว

2. การลบ Database

หากคุณต้องการลบ Database คุณสามารถใช้คำสั่ง db.dropDatabase() ได้ แต่ก่อนอื่นคุณต้องเลือก Database ที่ต้องการลบก่อน

ตัวอย่างเช่น ถ้าเราต้องการลบ Database newdb ให้ทำตามขั้นตอนเหล่านี้:

use newdb
db.dropDatabase()

MongoDB จะแสดงผลข้อความยืนยันว่า Database ถูกลบเรียบร้อยแล้ว

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

3. การสร้าง Collection

เราสามารถสร้าง Collection ได้โดยอัตโนมัติเมื่อเราทำการเขียนข้อมูลลงไปใน Collection นั้นๆ ดังที่ได้แสดงให้เห็นในหัวข้อการสร้าง Database นอกจากนี้ เรายังสามารถสร้าง Collection โดยใช้คำสั่ง db.createCollection() ได้อีกด้วย

use mydatabase
db.createCollection("products")

คำสั่งนี้จะสร้าง Collection ชื่อ products ใน Database mydatabase

กรณีใช้งานจริง: การสร้าง Collection โดยใช้ db.createCollection() มีประโยชน์เมื่อคุณต้องการกำหนด Options เพิ่มเติมให้กับ Collection เช่น การกำหนดขนาดสูงสุดของ Collection หรือการเปิดใช้งาน Indexing

4. การลบ Collection

หากคุณต้องการลบ Collection คุณสามารถใช้คำสั่ง db.<collection_name>.drop() ได้

ตัวอย่างเช่น ถ้าเราต้องการลบ Collection products ให้พิมพ์คำสั่งนี้:

use mydatabase
db.products.drop()

MongoDB จะแสดงผล true หาก Collection ถูกลบเรียบร้อยแล้ว

ข้อควรจำ: การลบ Collection จะลบข้อมูลทั้งหมดที่อยู่ใน Collection นั้นด้วย

สรุป

ในบทนี้ เราได้เรียนรู้วิธีการใช้งาน MongoDB Shell ซึ่งเป็นเครื่องมือสำคัญในการจัดการฐานข้อมูลและ Collection ใน MongoDB เราได้เรียนรู้คำสั่งพื้นฐาน เช่น show dbs, use <database>, show collections, รวมถึงวิธีการสร้างและลบ Database และ Collection

ตอนนี้คุณก็พร้อมที่จะเรียนรู้การใช้งาน CRUD Operations (สร้าง, อ่าน, แก้ไข, ลบ Document) ในบทต่อไปแล้วครับ เตรียมตัวให้พร้อม!

Office.in.th Custom Service

Want to build or adapt a system from this structure?

Office.in.th designs and develops enterprise web applications, API integrations, and public- and private-sector management systems, with long-term support.

See our software development service