PracticU

יצירת מודל - Product Model

בלי כתוביותעם כתוביות
PracticU › קורס NodeJS › יצירת מודל - Product Model
מילון מושגים:
מודל - רכיב שמייצג את הנתונים ואת הלוגיקה העסקית באפליקציה. גם ייצוג מופשט של מערכת או תהליך.
סכמה - המבנה הלוגי של מסד נתונים: הגדרת הטבלאות, העמודות, הסוגים והקשרים ביניהם.
מחלקה - תבנית בתכנות מונחה עצמים שמגדירה אילו נתונים ופעולות יהיו לאובייקטים שנוצרים ממנה.
מחרוזת - סוג נתונים שמייצג רצף של תווים, כלומר טקסט, ומשמש לאחסון מילים, משפטים או כל רצף סימנים.
JavaScript - שפת תכנות שרצה בעיקר בדפדפן ומוסיפה אינטראקטיביות לדפי אינטרנט. רצה גם בצד השרת באמצעות Node.js.
MongoDB - מסד נתונים מסוג NoSQL שמאחסן נתונים כמסמכים בפורמט דמוי JSON, בלי מבנה טבלאי קשיח.
פונקציה - קטע קוד בעל שם שמבצע משימה מוגדרת, מקבל ערכי קלט (פרמטרים) ויכול להחזיר תוצאה. מאפשרת לארגן קוד ולהשתמש בו שוב.

יצירת מודל - Product Model
ב-mongoose לא כותבים מחלקת מודל בעצמנו. מגדירים סכמה, ו-mongoose בונה מחלקה שכוללת כבר את כל הפעולות מול המסד.
השלבים העיקריים
1. מוחקים את המודל הישן: מוחקים את תוכן מחלקת Product ואת Joi. ולידציה תטופל בנפרד, בהמשך.
2. מגדירים סכמה: new mongoose.Schema({...}) מתארת מה יש במוצר: name מסוג String, price ו-stock מסוג Number, ו-categoryId מסוג mongoose.Schema.Types.ObjectId. הסוגים הם סוגי JavaScript באות גדולה. את _id לא מגדירים, כי MongoDB מייצר אותו בעצמו. בהמשך יוגדר ה-categoryId כהפניה ל-category.
3. בונים את המודל: mongoose.model("ProductModel", productSchema, "products"). הפונקציה מקבלת שם למודל, את הסכמה ואת שם ה-collection במסד, בלשון רבים.
4. חושפים רק את המודל: module.exports = Product, בלי הסכמה.
המודל שנוצר כבר מכיל את כל הפונקציות לגישה למסד, בלי קוד נוסף.
אחרי ההרצאה יש מודל Product מוכן לשימוש, וההרצאה הבאה משתמשת בו כדי לשלוף את כל המוצרים.
השיעור הבא בקורס: שליפת כל המוצרים מתוך מתוך Mongoose

פרקי ההרצאה: יצירת מודל - Product Model

  1. 00:00

    כיצד Mongoose בונה את המודל

  2. 00:44

    מחיקת מחלקת המודל ו-Joi

  3. 01:25

    הגדרת Product Schema

  4. 02:05

    השמטת ה-ID מהסכמה

  5. 02:46

    הגדרת סוגי השדות Name ו-Price

תמלול ההרצאה: יצירת מודל - Product Model

הטקסט המלא של הדקות הראשונות בהרצאה «יצירת מודל - Product Model» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:04

    אחרי שראינו איך אנחנו יכולים להתחבר דרך מונגוס למסד הנתונים מונגו די בי, בואו נתחיל לצלול פנימה ולראות איך אנחנו יכולים לבצע את כל הפעולות של קריאת מידע, הוספת מידע וכדומה.

  2. 00:22

    אז כמו שראינו בסרטון הקודם, מונגוס זה פשוט מערכת שנחשבת ORM Object Relational Mapper. זה אומר שיש לנו מודל שאנחנו צריכים לבנות, לדרכו אנחנו מבצעים את כל הפעולות אבל יש לנו כבר מודל המודל שבנינו בעבר מודל שמתאר מוצר קלאס פרודקט יש לנו קונסטרקטור יש לנו כל מיני בדיקות ולידציה אבל במונגוס אנחנו לא בונים את המודל בצורה כזאת על ידי קלאס בעצמנו אנחנו בונים את זה באופן אחר לגמרי

  3. 01:02

    אנחנו בעצם אומרים למונגוס מה בדיוק אנחנו צריכים שיהיה לנו בפרודקט ומונגוס מייצרת לנו אובייקט או ליתר דיוק קלאס פרודקט שיש בו כבר את כל הפונקציונלות שאנחנו צריכים בשביל לבצע כל פעולה על הדאטאבייס.

  4. 01:23

    זאת אומרת שמה שאנחנו לא צריכים כרגע זה מודל משלנו. אז מה שאני הולך לעשות במחלקה פרודקט, קונטרול A ו-Delete, מוחק אותה לגמרי.

  5. 01:38

    ודרך אגב אנחנו גם לא צריכים את ג'וי. יש לנו פה מערכת של ולידציה אחרת אבל אנחנו נטפל בזה בהמשך. ואנחנו רוצים קונסט מונגוס require מונגוס קונסט אנחנו בונים קודם כל משהו שנקרא פרודקט סכמה.

  6. 02:06

    פרודקט סכמה פשוט מתאר מה יש באובייקט מוצר אחד. את זה אנחנו עושים על ידי מונגוס נקודה סכמה ואנחנו נותנים לה אובייק בצורה כזאת ומה שאנחנו אומרים זה מה הדברים שקיימים במוצר מבלי להגדיר את ה-ID כי אם אנחנו מגדירים את ה-ID זה אומר שאנחנו צריכים לספק את ה-ID כלומר את ה-underline ID ואם אנחנו לא מגדירים את ה-ID מונגוס,

  7. 02:43

    ליתר דיוק MongoDB מספקת אותו בעצמה כאשר אנחנו מוסיפים דוקימנט חדש. אז מה יש לנו? יש לנו name והסוג שלו זה סטרינג. יש לנו price והסוג שלו זה number, שימו לב לאותיות הגדולות כי

לקורס המלא: קורס NodeJS אונליין בעברית

ההרצאה הקודמת: חיבור של NodeJS ל-Mongoose

ההרצאה הבאה: שליפת כל המוצרים מתוך מתוך Mongoose

הרצאות קשורות מקורסים אחרים

  • יצירת מחלקת מודל - Model Class
  • The V Model
  • יצירת Model - דוט נט NET Core.
  • יצירת MongoDB - Model - Entity Framework

קורסים נוספים במסלול

  • קורס יסודות HTML - בניית אתר אינטרנט פשוט
  • קורס CSS 3 - בדגש על Flex & Grid
  • קורס Javascript כולל JQuery
  • קורס ג'אווה סקריפט מעשי - JavaScript
  • קורס TypeScript
  • קורס ריאקט - React