PracticU

שליפת מוצר בודד מתוך Mongoose

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

שליפת מוצר בודד מתוך Mongoose
שליפת מוצר בודד ב-mongoose פשוטה יותר, כי אין צורך להמיר את המזהה ל-ObjectId.
השלבים העיקריים
1. מוותרים על ההמרה: ב-mongodb הישיר היה צריך לעטוף את המחרוזת ב-ObjectID. mongoose ממירה אותה אוטומטית, ולכן מחפשים לפי המחרוזת כמות שהיא.
2. משתמשים ב-findOne: כי רוצים אובייקט אחד ולא מערך. סוף השורה הוא .exec(), שמחזיר Promise.
3. מקצרים את האובייקט: במקום { _id: _id } כותבים { _id }. זה קיצור של JavaScript כשהשם של המאפיין שווה לשם המשתנה.
4. מוחקים סוגריים מיותרים: ב-getAllProducts אפשר לכתוב find() בלי אובייקט כשאין סינון.
בדיקה
מריצים את האפליקציה, מביאים את כל המוצרים ב-Postman ולוקחים את ה-_id של chai. בבקשת GET למוצר בודד מתקבל chai בלבד.
כך אפשר לבקש ממונגוס מסמך ספציפי בלי המרות.
השיעור הבא בקורס: הוספת מוצר חדש ל-Mongoose

פרקי ההרצאה: שליפת מוצר בודד מתוך Mongoose

  1. 00:00

    החזרת מוצר בודד לפי ID

  2. 00:46

    המרה אוטומטית ל-Object ID

  3. 01:28

    שימוש ב-findOne והסרת ההמרה

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

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

  1. 00:04

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

  2. 00:29

    אנחנו יודעים שבמונגו DB, בדאטאבייס, זה לא בדיוק מחרוזת, זה אובייקט מסוג Object ID, שזה מעין אובייקט בינארי כזה.

  3. 00:38

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

  4. 01:00

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

  5. 01:19

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

  6. 01:37

    נניח תביא לי רק כאלה, שה-Name שלהם שווה לאיזושהי מחרוזת או שה-Price שלהם שווה ל-40 או משהו כזה. בגלל שאנחנו רוצים בפונקציה הזאת Get All Products את הכל, אין בעיה להגיד לו Find בלי Object עבור

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

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

ההרצאה הבאה: הוספת מוצר חדש ל-Mongoose

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

  • הצגת פריט בודד - SingleOrDefault
  • שליפת מידע עם Azios
  • שליפת כל הסיסמאות של הארגון - מתוך זיכרון של DC
  • מחזור חיים של פיתוח מוצר תוכנה

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

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