Mongo shell เป็นหน้าต่างคำสั่งแบบอินเทอร์แอคทีฟสำหรับ MongoDB คุณสามารถใช้ mongo shell เพื่อดำเนินการ CRUD ต่าง ๆ บน MongoDB เช่น การ query, การ update, และการลบข้อมูล โดย mongo shell มาพร้อมกับการติดตั้ง MongoDB และไม่ต้องการการติดตั้งแยกต่างหาก

หมายเหตุ: ในบทต่อไป ๆ จะเน้นที่การใช้คำสั่งและ API ของ mongo shell เพื่อนำเสนอการดำเนินการ MongoDB ต่าง ๆ หากคุณใช้ภาษาโปรแกรมหรือ MongoDB Compass สำหรับการดำเนินการแบบภาพ ไวยากรณ์ของมันมีความคล้ายคลึงกับ mongo shell ดังนั้นการรู้จักไวยากรณ์ของ mongo shell จะช่วยในการเข้าใจการใช้งานของเครื่องมืออื่น ๆ ด้วย

เริ่มต้น mongo Shell และเชื่อมต่อกับ MongoDB

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

เพียงพิมพ์คำสั่ง mongo เพื่อเข้าสู่ Mongo Shell.

mongo

นี่จะทำการเชื่อมต่อกับ MongoDB Server โดยใช้ที่อยู่เริ่มต้น

หมายเหตุ: หากพบว่าคำสั่ง mongo ไม่พบ นั้นหมายความว่าไดเรกทอรี bin ของ MongoDB ไม่ได้ถูกเพิ่มเข้าไปใน PATH environment variable ขณะที่ทำการติดตั้ง คุณสามารถอ้างอิงไปยังบทติดตั้งเพื่อหาขั้นตอนที่เฉพาะเจา

หากเรียบร้อย ข้อมูลต่อไปนี้จะถูกแสดงขึ้น:

MongoDB shell version v4.4.5
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("b11bfc3e-e70c-42b1-9bfc-5d9218f2d232") }
MongoDB server version: 4.4.5
>

คุณสามารถใส่คำสั่งการดำเนินการในหน้าต่างโต้ตอบได้เลย

เข้าถึง mongo shell ภายในคอนเทนเนอร์ Docker

หากคุณกำลังใช้ Docker container ชื่อ mongo สำหรับการติดตั้ง MongoDB คุณสามารถเข้าถึง mongo shell โดยใช้คำสั่งต่อไปนี้:

docker exec -it mongo mongo

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

mongo --username root --password  --host mongodb0.examples.com --port 28015

ตัวอธิีการอธิบายพารามิเตอร์:

  • --username: กำหนดบัญชี MongoDB เป็น root
  • --password: มันจะแสดงให้คุณใส่รหัสผ่าน
  • --host: ระบุที่อยู่ของเซิร์ฟเวอ MongoDB
  • --port: ระบุพอร์ตของเซิร์ฟเวอ MongoDB

คำสั่ง mongo shell พื้นฐาน

การแสดงชื่อฐานข้อมูลปัจจุบันที่ใช้

db

เปลี่ยนไปยังฐานข้อมูลอื่น

ไวยากรณ์:

use database_name

ตัวอย่าง:

use tizi365

ตัวอย่างของการดำเนินการ mongo shell

// เปลี่ยนฐานข้อมูล
use myNewDatabase

// แทรนทราซ้าข้อมูล
db.myCollection.insertOne( { x: 1 } );

// Query ข้อมูลทั้งหมดในคอลเลกชัน inventory
db.inventory.find( {} )

// Query เอกสารในคอลเลกชัน inventory ที่ status = "D"
db.inventory.find( { status: "D" } )

คำสั่งการดำเนินการ mongo shell เพิ่มเติมจะถูกนำเสนอในบทต่อไป

ออกจาก mongo shell

กด เพื่อออก.