Quest Academy

MongoDB and Mongoose

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 ใหม่

MongoDB and Mongoose

Install and Set Up Mongoose

Create a Model

Create and Save a Record of a Model

Create Many Records with model.create()

Use model.find() to Search Your Database

Use model.findOne() to Return a Single Matching Document from Your Database

Use model.findById() to Search Your Database By _id

Perform Classic Updates by Running Find, Edit, then Save

Perform New Updates on a Document Using model.findOne And Update()

Delete One Document Using model.findByIdAndRemove

Delete Many Documents with model.remove()

Chain Search Query Helpers to Narrow Search Results

Be the first to add a review.

Please, login to leave a review
Add to Wishlist

Archive