
npm uninstall mongodb ואחר כך npm i mongoose. mongoose כוללת את מה שיש ב-mongodb ומשתמשת בו מאחורי הקלעים. מי שמתחיל מראש עם mongoose לא צריך להתקין את mongodb.connectAsync מחזירה Promise וקוראת ל-mongoose.connect(connectionString, options). מחרוזת החיבור והאפשרויות זהות לאלה שבחיבור הישיר, כולל הפורט 27017 והמסד northwind מקובץ ההגדרות.try שמציג הודעה כמו "we're connected to" ושם המסד, או את השגיאה.require בלבד, בלי const, כי אין צורך באובייקט. כך החיבור נעשה פעם אחת לכל האפליקציה ולא בכל business logic, ואפשר למחוק את ה-require ואת הגישה למסד ממנו.require שגוי: נשארה נקודה אחת במקום שתיים אחרי copy-paste. תיקון הנתיב הועיל.הטקסט המלא של הדקות הראשונות בהרצאה «חיבור של NodeJS ל-Mongoose» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
בסרטונים האחרונים ראינו איך אנחנו יכולים להשתמש במונגו די.בי בתור הדאטאבייס שלנו במקום MySQL. בפועל אנחנו לא משתמשים בשניהם, כן? בוחרים אחד לפי הצרכים של המוצר או של החברה או של הארגון ועובדים עם אותו דאטאבייס.
אז ראינו איך אנחנו יכולים להשתמש במונגו די.בי בכדי לבצע בחירה של מידע, הוספה, עדכון, מחיקה, שאילתות מיוחדות, מונגו די בי קווירי לאנגוויג' וכדומה.
מה שאנחנו הולכים לראות בסרטונים הבאים הקרובים זה בעצם את אותו הדבר אבל אנחנו הולכים להשתמש עם משהו שנקרא orm.
orm זה Object Relational Mapper, זה בעצם איזה שהוא מנגנון שמאפשר לנו להגדיר מודל והמודל שבמקרה שלנו זה יכול להיות פרודקט, קטגורי או לא משנה איזה קולקשן יש לנו בדאטאבייס ואיזה מידע יש לנו בדאטאבייס.
המודל מבצע את הפעולות בשבילנו, כלומר אנחנו מתייחסים למידע שנמצא בתוך מונגו db כאילו שהוא אובייקט מהמודל הזה ואז לנו בתור מתכנתים יותר קל לעבוד עם המודלים האלה כי הם עושים לנו המון דברים במקום שאנחנו נעשה את זה. כמובן שהמודל מגיע build-in מהמערכת ה-ORM, יש כל מיני מערכות ORM כאלה, אחת מהן שהיא מאוד נפוצה נקראת מונגוס,
שמונגוס זה בעצם נמיה, זה בעצם חיה כזאת, אז הם לקחו את השם מונגו והפכו את זה למונגוס, וזה בעצם המערכת שאנחנו רוצים לעבוד איתה. אז מה שאנחנו רוצים לעשות זה את אותו הדבר, בדיוק את אותן פעולות שעשינו בסדרה של הסרטונים של מונגו דיבי, אבל אנחנו רוצים לעשות
אותם עם המערכת של מונגוס ולא ישירות עם הדרייבר של מונגו די.בי. הדבר הראשון שאנחנו רוצים לבצע זה להיפטר מההתקנה של מונגו די.בי. זה נראה מוזר זאת, אבל אנחנו לא צריכים לעבוד איתו ישירות.
אז בואו נגדיר כאן npm uninstall mongo dd ואנחנו הולכים בעצם להסיר את ההתקנה של מונגו די.בי. ולהתקין במקומה מונגוס.
מונגוס כוללת את כל מה שמונגו די בי כוללת. אז הנה, בייסיקלי הסרנו את זה, והדבר הבא שאנחנו רוצים זה npmi מונגוס. שימו לב שכמובן שאם אתם מראש עובדים עם מונגוס, אז אתם בכלל לא צריכים להתקין את מונגו די בי, אלא רק את ההתקנה של מונגוס.
בואו נריץ את ההתקנה, ונראה שהוא רושם לנו פה שיש לו רק את מונגוס מאחורי הקלעים, הוא גם משתמש במונגו די בי כמובן. אז הדבר הראשון שאנחנו הולכים לעשות בסרטון הזה זה את הדל, את ההתחברות.
אוקיי, הנה הדל שלנו והדל ישתמש במונגו דיבי, אין לנו כרגע מונגו דיבי, יש לנו במקומו את מונגוס. אז הנה יש לנו כאן קודם כל ראשית את מונגוס.
הדבר הבא שאנחנו רוצים זה שוב פונקציה כזאת קונקט אסינק, מחזירה לנו פרומיס. יש לנו את ה-Connection String ויש לנו את ה-Options שהם ממש אותו הדבר, אבל אנחנו רושמים כאן מונגוס נקודה קונקט.
שולחים אליה בדיוק את הערכים האלה מונגוס קונקט קונקשן סטרינג ואופשנס בדיוק כמו ששלחנו בה סרטונים של התחברות ישירה למונגו די בי הקונקשן סטרינג מתאר בדיוק את הנתיב הזה כאילו פרוטוקול תקשורת של מונגו די בי מחשב זה הלוקלוסט פורט זה תמיד
270-17, Northwind זה הדאטאבייס והוצאנו מפה את כל הערכים שנמצאים בקובץ הקונפיגורציה שהגדרנו, הנה הוא, הוסט, פורט ודאטאבייס ואז כמובן אני רק מתזכר, הגדרנו פה את השליפה של קובץ הקונפיגורציה פעם אחת באפ.JS ויש לנו את ההגדרות האלה בכל מקום שאנחנו רוצים להשתמש איתם ברמת האפליקציה.
אופשיונס זה שתי הגדרות קונפיגורטיביות שכרגע צריך לתת ואני אני מניח שבהמשך זה ייכנס כבילד אין בדיפולט אבל כרגע צריך לתת אותם אחרת יהיו לנו פה שגיאות לא שגיאות הערות קונסול כאלה של דפריקיישן וברגע שהמערכת מסיימת אז מה שהיא עושה היא מחזירה לנו את הדאטאבייס עצמו את הדיבי ואני כרגע יוריד מכאן את זה אנחנו לא צריכים
את זה אנחנו פשוט מקבלים אוטומטית את הדאטאבייס ושולחים אותו.