MongoDB :Shell Part2

Tawan_Ait
2 min readAug 21, 2019

--

ความเดิมตอนที่แล้ว คลิกดูได้ MomgoDB:Shell ตอนที่แล้วจะพูดเกี่ยวกับวิธีการ Create Read Update Delete มา Part2 นี้เราจะมาเล่าที่มาเพิ่มเติม จะเป็นนิยามส่ะส่วนมาก เพื่อคลายความมึนงงของตัวเองลงบ้าง . นี่เห็นเป็นที่ระบายหรืออย่างไรตัวเธอ ฉันมึนงงตั้งนานล่ะ ตอนนี้เริ่มกระจ่างแจ้งแล้ววว

!! ทวนอีกรอบเนอะ

MongoDB:: “ เป็นฐานข้อมูลแบบ NoSQL => คือไม่มีความสัมพันธ์ (Relation)” :: เก็บข้อมูลแบบ JSON “Java Script Object Notation”

Shell : เป็นตัวกลางในการสื่อสารกับ MongoDB ให้เรา หรือเรียกได้ว่าเป็นล่ามส่วนตัวก็ว่าได้

!! เอาล่ะมาเริ่มวิ่งกันได้แล้ว วิ่งแบบพี่ตูน วิ่งแบบพี่ตูน

Structure :: MongoDB

=> DataBase : ฐานข้อมูล จะเป็นเสมือนคอกล้อมทั้งหมดไว้ 
=> Collections : ชุด จะอยู่ข้างใน DataBase และสามารถมีได้หลาย Collection ใน DataBase เดียวกัน
=> Document : เอกสาร จะอยู่ภายใน Collection ก็สามารถมีได้หลาย Document เช่นกัน {"Key":"Value","Key":"Value"}
Structure :: MongoDB:Shell

Projection :: MongoDB

คืออะไรกันน่ะ ซึ่งคือ การเลือกสิ่งของที่อยากจะให้เห็นมาแสดง เพราะบางทีข้อมูลเรามีเยอะ แต่จะเอามาแสดงทั้งหมดคงไม่ไหวแน่แท้ จึงต้องเลือกมาเฉพาะตัวที่อยากให้เห็น โดยถ้าต้องการให้เห็น แทนด้วย name:1 ถ้าไม่ต้องให้เห็นแทนด้วย _id:0

Example Data ที่ฐานข้อมูลเก็บ กับที่เราเห็นจะเห็นเฉพาะส่วนที่เราควรรู้ และสำคัญกับเรา

ซึ่งในฐานข้อมูลนั่นล้วนแล้วแต่มีข้อมูลมากมายหลายแบบ แต่ลูกค้าอย่างเราๆ คงไม่อยากเห็นกระบวนการอะไรที่มึนงง คืออยากจะเห็นของที่สามารถดูแล้วรู้เลย พวกโค้ดลับๆ คงไม่ต้องนำมาหรอก ให้โปรแกรมเมอร์จัดให้เลยล่ะกัน นั่นก็เป็นเหตุให้โปรแกรมเมอร์ต้องทำ Projection และเป็นประโยชน์อย่างมาก จะได้ไม่เปลืองพื้นที่

วิธีการทำ : Projection

ตัวอย่างนี้คือ เราจะเอามาให้แสดงแค่ 2 Document เพราะเราบอกไปว่า .limit(2) และจัดโครงสร้างให้สวยงาม ด้วย .pretty( ) เป็นนางสาวไทยไปเลย และจะเห็นทั้งหมดว่ามี Key : Value อะไรบ้าง มาดูการทำ Projection กัน จะเลือกเอาที่ดูดี ที่สุดมาให้คุณเห็น ส่วนที่ไม่น่าดูเราจะเก็บไว้เอง

ตัวอย่างนี้เราเลือกเอาเฉพาะที่อยากให้เห็นมาแสดงด้วย .find({},{id:1,title:1}) คือถ้าอยากจะให้แสดง แทนด้วย 1 ถ้าไม่ แทนด้วย 0 แต่มี _id มาด้วย คือเรา ไม่ต้องการ มาดูตัวอย่างถัดไป

ตัวอย่างนี้ต่อจากตัวที่แล้ว คือเราไม่ต้องการที่จะให้เห็น _id เลยจะทำการเลือกออกด้วยการ .find({},{id:1,title:1,_id:0}) เท่านี้เราก็จะไม่เห็น _id แล้ว เพราะบางข้อมูลลูกค้าไม่จำเป็นต้องเห็นก็น้อย ยุคนี้ต้องประหยัดกัน พื้นที่ก็เช่นกัน

Embedded ::MongoDB

คือ คือ คือกัน Document ที่อยู่ข้างใน Document อีกทีหนึ่ง เช่น “หนึ่งเรื่องจะมีหลายหัวข้อ 1 หัวข้อ จะมีข้อย่อย และ 1 ข้อย่อย ก็จะมีย่อยลงไปอีก” และอยู่ในเครื่องหมาย {“….”: “”…..”, “…..”: “…..”} มาดูกันว่าตัวไหนเป็น Embedded ตัวไหนไม่เป็น Embedded กัน

**เป็น Embedded เพราะสามารถรู้ได้เลยว่ามีอะไรบ้างใน Document

{"name": "TakoaJung",
"description" : "on-time",
"lastUpadate" : "1 hour ago",
"detail" : {
"responsible" : "Easyyy"
}
}

**ถึงจะมีอยู่ข้างใน Array ก็เป็น Embedded สามารถรู้ได้เลยว่ามีอะไรบ้างใน Document

({"name": "TakoaJung2", 
"description" : "on-time",
"lastUpadate" : "1 hour ago",
"detail" : {
"responsible" :[{
"Easyyy":1234,
"type":"A3"}]
}
})

Schemas ::MongoDB

คือ โครงสร้างของสิ่งๆ หนึ่ง จะต้องประกอบด้วยอะไรบ้างถึงจะเป็น สิ่งนั้น เช่น นาฬิกา จะประกอบไปด้วย เรือน สาย สามารถบอกเวลาได้ ก็จะประกอบเป็นนาฬิกาได้แล้ว นอกนั้นคือ Design ของแต่คนแล้วล่ะ — — — — -> นี้จะไปต่อที่ Part3 นะคะ เกิ้นๆ . ไว้ก่อน ไว้มาเจอกัน

.

หวังเป็นว่าจะเป็นประโยชน์ต่อผู้ที่สนใจ สามารถติชมมาได้เลยนะคะ เพื่อจะได้นำไปปรับปรุง ผิดพลาดตรงไหน ช่วยเตือนด้วยนะคะ อาจจะไม่ละเอียดเท่าที่ควรจะเป็น Bye Bye JuBu JuBu ไว้มาเจอกัน……….ขอบคุณคุณครูของฉัน ^_^ใจดีมากบอกเลย

--

--

No responses yet