MongoDB : Shell

Tawan_Ait
2 min readJul 17, 2019

MongoDB เป็นฐานข้อมูลแบบ NoSQL คือไม่มี relation (ความสัมพันธ์) เก็บข้อมูลเป็นแบบ JSON (JavaScript Object Notation) เราเรียกว่า Document ซึ่งจะเก็บค่าเป็น key และ value

เจ้า Mongo DB : shell มีความยืดหยุ่นมาก คือเวลาที่เรากรอกข้อมูลเข้าไป ถึงแม้ข้อมูลที่กรอกเข้าไปจะไม่ครบตาม key ที่มีอยู่แล้วก็เหอะ ก็จะเก็บข้อมูลของเราเอาไว้หรือว่าข้อมูลของเราจะมีการเพิ่ม key เข้าไปใหม่ สรุป “ Mongo DB : shell เก็บทุกอย่างที่เรากรอกนั่นเองจ๊ะ ”

การติดตั้ง MongoDB โดยใช้ Terminal

1.ไปที่ Google ค้นหา mongodb install หรือเว็บไซต์

https://docs.mongodb.com/

2. เลือกตามขั้นตอนนี้เลยนะจ๊ะ

2.1 Install MongoDB-MongoDB Manual
2.2 Install MongoDB Community Edition //เพราะมันฟรี นั่นเองจ้าาา
2.3 Install on MacOS //ตามแต่ระบบของเครื่องนั้นๆ

3. ถึงขั้นในการติดตั้งจริงๆ ละ เราใช้ brew เป็นคนติดตั้งให้

brew install mongodb-community@4.0

4. เช็คว่าติดตั้งว่าสำเร็จไหม ด้วยคำสั่งนี้

mongo 
แบบนี้ถือว่า สำเร็จ ฮาๆ

คำสั่งการใช้งาน Mongo DB : Shell บน Terminal มีดังนี้

1.Open Terminal 1 :: ปลุกการทำงานของ mongo server และเรา run แบบ foreground คือ run อยู่ข้างหน้า ถ้าเราต้องการหยุดการทำงาน เพียงใส่คำสั่ง control + c (Mac OS)หรือ Ctrl + c (Windows)

mongod --config /usr/local/etc/mongod.conf

2. Open Terminal 2:: เพื่อสั่งให้ทำงาน ด้วยคำสั่ง …. อีกรอบ

mongo

3.คำสั่งแสดงชื่อ Database

show dbs

4.การเลือกใช้งาน Database ที่ชื่อว่า products ตามที่ตั้งไว้ อะไรก็ได้ . แล้วแต่ ถ้าใน DataBase ยังไม่มี Collection ก็จะสร้างไม่สำเร็จ และไม่ถูกจัดเก็บใน Memory

use products

5.การเพิ่ม Document หรือ ข้อมูล เข้าไปใน Database ที่ตั้งไว้ข้างต้น และได้เพิ่ม Data “key : value” และนี่เป็นการเพิ่มเข้าไปทีละหนึ่ง Document

db.products.insertOne({name:"Mongo",price:25.00})

6.(ต่อจากข้อที่ 5)การเพิ่ม Document ที่มีรายละเอียดย่อยลงไปอีก แบบนี้เรียกว่า Embedded ทำได้ดังนี้ ด้วยการเพิ่มวงเล็บปีกกา{key : value} เข้าไปอีก

Embedded คือ Document อยู่ข้างใน Document จะกี่ชั้นก็ได้ ({“_”: “_”, “_”:{“_”: “_”}})

db.products.insertOne({name:"Computer",price:1340.50,description:"
Tool",details:{cpu:"core i8",mamory:8}})

7.การแสดงข้อมูลภายใน Document ที่เราเก็บไว้ (แบบไม่มีสร้าง ไม่ค่อยมีความสวยงาม อิอิ)

db.products.find()

8.1การแสดงข้อมูลภายใน Document ที่เราเก็บไว้ (แบบมีโครงสร้าง สวยงาม ดูง่ายดี)

db.products.find().pretty()

8.2 การแสดงข้อมูลทั้งหมดออกมาเท่าที่มี

 db.products.find().toArray()

9. การเพิ่ม : insertOne & insertMany , insertOne เพิ่มเข้าไปที่ละ Document and insertMany : จะใช้เครื่องหมาย Array :[…] มาครอบ Document ไว้

db.products.insertOne({name:"Computer",price:1340.50,description: " Tool",details:{cpu:"core i8",mamory:8}}) //เพิ่ม Documentเข้าไป 1 Document แบบ Embedded
::
db.dev.insertMany([{...},{...},{...}]) . //เพิ่ม Document เข้าไปทั้งหมด ใน Collection ชื่อ dev

10.การลบ : deleteOne and deleteMany

db.products.deleteOne({price:10.00}) //ลบตัว Document แรกที่หาเจอ 
::
db.products.deleteMany({}) //ลบทั้งหมดใน Collection : products

12.การอัพเดท : updateOne and updateMany

db.products.updateOne({name:"Angular"},{$set:{price:10.00}}) 
//แก้ไขเพิ่มเฉพาะ filter ที่เป็น name:"Angular" ให้เป็นเพิ่ม price:10.00
::
db.products.updateMany({},{$set:{price:10.00}})
//แก้ไขเพิ่ม price:10.00 เข้าไปให้ Document ทุกตัว

Mongo Diver คือ ตัวกลางในการแปรภาษาที่เราเขียน

CRUD “ครัด” มาจาก C : Create , R : Read , U : Update , D: Delete

“ คำสั่งยังมีอีกมากมาย ไว้ค่อยมาเพิ่มเติมเน้อ คอมเม้นทิ้งไว้ให้หน่อยนะคะ เอาไว้ปรับปรุงต่อไป ” Sul Sul อิอิ

// แสดงรายละเอียด Collections ของ Database นั้น

show collections

--

--