Introduction to the MongoDB and Mongoose Challenges
MongoDB เป็นฐานข้อมูลที่เก็บข้อมูล(เอกสาร) เพื่อใช้โดยแอพพลิเคชั่น Mongo เป็นฐานข้อมูล “NoSQL” ที่ไม่เกี่ยวข้อง ซึ่งหมายความว่า Mongo จัดเก็บข้อมูลทั้งหมดที่เกี่ยวข้องภายในระเบียนเดียวแทนที่จะเก็บไว้ในตารางที่ตั้งไว้ล่วงหน้าจำนวนมากเช่นเดียวกับในฐานข้อมูล SQL ประโยชน์บางประการของรูปแบบการจัดเก็บนี้ ได้แก่:
- ความสามารถในการปรับขนาด: โดยค่าเริ่มต้นฐานข้อมูลที่ไม่ใช่เชิงสัมพันธ์จะถูกแยก (หรือ “ชาร์ด”) ในหลายระบบแทนที่จะเป็นเพียงระบบเดียว ทำให้ง่ายต่อการปรับปรุงประสิทธิภาพด้วยต้นทุนที่ต่ำลง
- ความยืดหยุ่น: สามารถเพิ่มชุดข้อมูลและคุณสมบัติใหม่ลงในเอกสารได้โดยไม่จำเป็นต้องสร้างตารางใหม่สำหรับข้อมูลนั้น
- การจำลองแบบ: สำเนาของฐานข้อมูลจะทำงานแบบขนานดังนั้นหากมีการล่มลงหนึ่งในสำเนาจะกลายเป็นแหล่งข้อมูลหลักใหม่
ในขณะที่มีฐานข้อมูลที่ไม่ใช่เชิงสัมพันธ์จำนวนมากการใช้ JSON ของ Mongo เป็นโครงสร้างการจัดเก็บเอกสารทำให้เป็นตัวเลือกเชิงตรรกะเมื่อเรียนรู้ JavaScript แบ็กเอนด์ การเข้าถึงเอกสารและคุณสมบัติก็เหมือนกับการเข้าถึงวัตถุใน JavaScript
Mongoose.js เป็นโมดูล npm สำหรับ Node.js ที่ให้คุณเขียนอ็อบเจกต์สำหรับ Mongo ได้เหมือนที่คุณทำใน JavaScript สิ่งนี้สามารถทำให้ง่ายต่อการสร้างเอกสารสำหรับการจัดเก็บใน Mongo
การทำงานกับความท้าทายเหล่านี้จะเกี่ยวข้องกับการเขียนโค้ดของคุณบน Glitch ในโครงการเริ่มต้นของเรา หลังจากเสร็จสิ้นการท้าทายแต่ละครั้งคุณสามารถคัดลอก url ความผิดพลาดสาธารณะ (ไปยังหน้าแรกของแอปของคุณ) ลงในหน้าจอท้าทายเพื่อทดสอบได้! คุณสามารถเลือกที่จะเขียนโปรเจ็กต์ของคุณบนแพลตฟอร์มอื่นได้ แต่จะต้องเผยแพร่ให้เห็นได้สำหรับการทดสอบของเรา
ริ่มโครงการนี้ในทันทีทันใดโดยใช้ this link หรือโคลน this repository บน GitHub! หากคุณใช้ Glitch อย่าลืมบันทึกลิงก์ไปยังโครงการของคุณในที่ที่ปลอดภัย!
Use mLab to host a free mongodb instance for your projects
สำหรับความท้าทายต่อไปนี้เราจะเริ่มใช้ MongoDB เพื่อจัดเก็บข้อมูลของเรา เพื่อให้การกำหนดค่าง่ายขึ้นเราจะใช้ mLab
mLab เป็นแพลตฟอร์ม MongoDB Database-as-a-Service ซึ่งโดยพื้นฐานแล้วหมายความว่าพวกเขากำหนดค่าและโฮสต์ฐานข้อมูลให้คุณดังนั้นความรับผิดชอบเดียวที่คุณมีคือเติมข้อมูลในฐานข้อมูลของคุณด้วยสิ่งที่สำคัญ: ข้อมูล! เราจะแสดงวิธีการ:
- สร้างบัญชี mLab
- สร้างฐานข้อมูลออนไลน์ฟรี
- สร้างผู้ดูแลระบบใหม่บนฐานข้อมูลเพื่อให้คุณสามารถเข้าถึงได้
- รับ mLab URI ซึ่งคุณจะใช้ในแอปพลิเคชันเพื่อเชื่อมต่อกับฐานข้อมูลของคุณ
Create an mLab account
มาเริ่มกันเลย going to mLab.
เมื่อคุณเปิดหน้า mLab คุณควรลงชื่อสมัครใช้บัญชีใหม่
- คลิก Sign Up ที่มุมขวาบนเพื่อเปิดหน้าการลงทะเบียน
- กรอกแบบฟอร์มการลงทะเบียนพร้อมข้อมูลของคุณแล้วส่ง
- คุณควรลงชื่อเข้าใช้บัญชีใหม่ที่ไม่ได้รับการยืนยัน
- ที่ด้านบนของหน้าจอจะมีข้อความแจ้งให้คุณส่งอีเมลเพื่อยืนยันบัญชี ส่งและยืนยัน
- หลังจากที่คุณยืนยันบัญชีของคุณคลิก Create new ในส่วนการปรับใช้ MongoDB Deployments
Create a free online database.
ตอนนี้เรากำลังจะสร้างฐานข้อมูลจริงที่คุณกำลังจะใช้
- เลือกผู้ให้บริการ ระบบคลาวด์ จากรายการที่มี
- เลือกประเภทแผน Sandbox ซึ่งเป็นประเภทเดียวที่ไม่มีค่าใช้จ่ายและกด Continue.
- เลือกภูมิภาคสำหรับ Sandbox ของคุณจากรายการที่มีแล้วกด Continue.
- ป้อนชื่อสำหรับฐานข้อมูลของคุณ ชื่อนี้จะใช้ใน URI สำหรับฐานข้อมูลของคุณ หลังจากนั้นกด Continue.
ข้อมูลสรุปของตัวเลือกทั้งหมดของคุณควรปรากฏขึ้นช่วยให้คุณสามารถเปลี่ยนแปลงข้อมูลที่ให้ไว้ในขั้นตอนก่อนหน้านี้ กด Submit Order เพื่อยืนยันข้อมูล
Create a new admin user on the database
หลังจากคุณยืนยันการกำหนดค่าแล้วควรสร้างแซนด์บ็อกซ์ใหม่ในส่วนการปรับใช้ MongoDB Deployments ตอนนี้เรากำลังจะสร้างผู้ดูแลระบบเพื่อให้คุณสามารถใช้ฐานข้อมูลในแอปพลิเคชันของคุณได้
- คลิกฐานข้อมูลที่สร้างขึ้นใหม่
- คลิกส่วน Users
- คลิกปุ่ม Add database user
- ป้อนชื่อผู้ใช้และรหัสผ่านสำหรับผู้ดูแลระบบของคุณ อย่าทำเครื่องหมายว่าอ่านอย่างเดียวมิฉะนั้นคุณจะไม่สามารถเพิ่มข้อมูลใด ๆ ในฐานข้อมูลกับผู้ใช้รายนี้ได้
Get the mLab URI
เกือบเสร็จแล้ว! เราได้สร้างฐานข้อมูลใหม่และสร้างผู้ใช้เพื่อเข้าถึงดังนั้นเราต้องหาวิธีใช้ในแอปพลิเคชันของเรา
- ในหน้าฐานข้อมูลของคุณคุณควรเห็นคำแนะนำเกี่ยวกับการเชื่อมต่อโดยใช้ MongoDB URI มาตรฐาน
- เส้นควรมีลักษณะดังนี้
mongodb://dbuser:dbpassword@ds0<PORT>.mlab.com:<PORT>/<DATABASE-NAME>
. - คัดลอก URI นี้และแทนที่ dbuser และ dbpassword ด้วยข้อมูลสำหรับผู้ใช้ที่คุณสร้างไว้ก่อนหน้านี้ในฐานข้อมูล
- แค่นั้นแหละ! นี่คือ URI ที่คุณจะเพิ่มลงในแอปพลิเคชันของคุณเพื่อเชื่อมต่อกับฐานข้อมูลของคุณ เก็บ URI นี้ไว้ให้ปลอดภัยเพื่อที่คุณจะได้ใช้ในภายหลัง!
- อย่าลังเลที่จะสร้างฐานข้อมูลแยกกันสำหรับแอปพลิเคชันต่างๆหากไม่มีการใช้งานสำหรับข้อมูลเดียวกัน คุณต้องสร้างแซนด์บ็อกซ์ผู้ใช้และรับ URI ใหม่