PracticU

שליפת קטגוריה עם כל המוצרים שלה ב-Mongoose

בלי כתוביותעם כתוביות
PracticU › קורס NodeJS › שליפת קטגוריה עם כל המוצרים שלה ב-Mongoose
מילון מושגים:
מודל - רכיב שמייצג את הנתונים ואת הלוגיקה העסקית באפליקציה. גם ייצוג מופשט של מערכת או תהליך.
מערך - מבנה נתונים שמאחסן אוסף ערכים מאותו סוג ברצף, שאפשר לגשת אליהם לפי מספר מיקום (אינדקס).
אובייקט - יחידה בתכנות מונחה עצמים שמאגדת נתונים (תכונות) ופעולות (מתודות). נוצר בדרך כלל ממחלקה המשמשת כתבנית.
פונקציה - קטע קוד בעל שם שמבצע משימה מוגדרת, מקבל ערכי קלט (פרמטרים) ויכול להחזיר תוצאה. מאפשרת לארגן קוד ולהשתמש בו שוב.
Postman - כלי לבדיקת API: שליחת בקשות HTTP לשרת ובחינת התגובות, נפוץ בפיתוח ובבדיקות.

שליפת קטגוריה עם כל המוצרים שלה ב-Mongoose
כדי לקבל את כל הקטגוריות ולכל אחת את המוצרים שלה, עושים התאמה דומה במודל הקטגוריה, בהיפוך לכיוון שנעשה במודל המוצר.
איך זה עובד
1. הגדרות ב-toJSON: בסכמת הקטגוריה מאשרים virtuals: true ומכבים את id עם id: false, כדי להישאר עם _id בלבד.
2. שדה וירטואלי חדש: קוראים ל-virtual על סכמת הקטגוריה ומגדירים שדה בשם products שמתאר את מודל Product.
3. הקישור בין השדות: ה-localField הפעם הוא _id של הקטגוריה, וה-foreignField הוא categoryId בקולקציית המוצרים.
4. מערך ולא אובייקט: כאן אין צורך ב-justOne, כי רוצים לקבל מערך של מוצרים.
5. שינוי הלוגיקה: בפונקציה הרלוונטית בלוגיקה של המוצרים מחליפים את הקוד הישן ב-Category.find ואחריו populate של products. בשביל זה צריך לייבא את מודל Category לקובץ.
6. בדיקה ב-Postman: מתקבלות הקטגוריות, למשל Beverages ו-Condiments, ולכל אחת רשימת המוצרים ששייכים אליה.
כך אפשר להביא את כל המוצרים לפי קטגוריה בעזרת שדה וירטואלי.
השיעור הבא בקורס: הוספת ולידטור ב-Mongoose

פרקי ההרצאה: שליפת קטגוריה עם כל המוצרים שלה ב-Mongoose

  1. 00:00

    שדה וירטואלי בסכמת הקטגוריה

  2. 00:48

    הגדרת localField ו-foreignField

  3. 01:33

    מערך מוצרים ועדכון products logic

תמלול ההרצאה: שליפת קטגוריה עם כל המוצרים שלה ב-Mongoose

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

  1. 00:03

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

  2. 00:19

    יש לנו פה את המאפיין toJson אנחנו אומרים לו virtuals true תאשר להגדיר שדות וירטואליים אנחנו אומרים לו id false בשביל שלא יבינו את ה-id.

  3. 00:37

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

  4. 01:23

    קטגורי איידי. זה בעצם מה שאנחנו צריכים להוסיף עבור שדה וירטואלי למוצר. אין צורך ב-just one מפני שאנחנו רוצים אותו כמערך.

  5. 01:41

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

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

ההרצאה הקודמת: שליפת מוצר יחד עם הקטגוריה שלו ב-Mongoose

ההרצאה הבאה: הוספת ולידטור ב-Mongoose

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

  • שליפת מידע עם Azios
  • שליפת כל הסיסמאות של הארגון - מתוך זיכרון של DC

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

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