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