PracticU

יצירת פרויקט חדש
לעבודה עם MongoDB

בלי כתוביותעם כתוביות
PracticU › קורס Entity Framework Core - עבודה עם מסד נתונים בדוט-נט › יצירת פרויקט חדש לעבודה עם MongoDB
מילון מושגים:
MongoDB - מסד נתונים מסוג NoSQL שמאחסן נתונים כמסמכים בפורמט דמוי JSON, בלי מבנה טבלאי קשיח.
C# - שפת תכנות מונחית עצמים של מיקרוסופט, המשמשת בעיקר לפיתוח יישומים על פלטפורמת .NET.
Visual Studio - סביבת פיתוח משולבת (IDE) של מיקרוסופט לכתיבה, ניפוי והרצה של קוד, בעיקר בשפות .NET.
Entity Framework - ספריית מיקרוסופט שממפה בין אובייקטים בקוד לבין טבלאות במסד נתונים, ומאפשרת לעבוד עם הנתונים בלי לכתוב SQL ישיר.
JSON - פורמט טקסט קריא לייצוג נתונים מובְנים כזוגות מפתח-ערך, נפוץ להחלפת מידע בין שרת ללקוח.
Localhost - שם המפנה למחשב המקומי עצמו (כתובת 127.0.0.1), המשמש לבדיקת שירותים הרצים על אותו מחשב.
NuGet - מנהל החבילות של פלטפורמת .NET, המשמש להתקנה ולניהול ספריות בפרויקטים.
בנאי - מתודה מיוחדת שמופעלת אוטומטית בעת יצירת אובייקט ממחלקה, ומאתחלת את ערכיו ההתחלתיים.

יצירת פרויקט חדש לעבודה עם MongoDB
אחרי שהותקנו MongoDB ו-Compass ונוצר דאטאבייס, בונים כאן פרויקט חדש ב-C# שיתחבר אליו. ההרצאה מכינה את ההגדרות, החבילות והקובץ שקורא את ה-connection string.
השלבים העיקריים
1. יצירת הפרויקט: ב-Visual Studio בוחרים Create a New Project, Console Application עם Entity Framework 7, ושם הפרויקט Music, למערכת שירים. מגדירים את מרחב השמות לכל קובץ עתידי.
2. קובץ הגדרות: מוסיפים קובץ JSON בשם appsettings.json ובו ה-connection string. אפשר להשתמש גם ב-app secrets.
3. ה-connection string: הפורמט מתחיל ב-mongodb://. במקום localhost כותבים 127.0.0.1 עם הפורט 27017, ומוסיפים אחרי הפורט את שם הדאטאבייס Music. בלי שם דאטאבייס החיבור הוא לשרת כולו.
4. Code First בלבד: Entity Framework לא יודעת כרגע ליצור מודלים מ-MongoDB, ולכן אין Database First. Code First פשוט יותר כאן, כי אין צורך ב-migrations.
5. חבילות NuGet: מתקינים Microsoft.Extensions.Configuration.Json ו-MongoDB.Driver.
6. מחלקת AppConfig: מחלקה סטטית בתיקיית Utils. ב-constructor הסטטי היא בונה את ה-configuration מקובץ ה-JSON וקוראת את ה-connection string. שם הדאטאבייס נחשף כשדה סטטי ציבורי, כדי לכתוב אותו בקוד פעם אחת ולהשתמש בו בכמה מקומות.
7. בדיקה: מדפיסים את ה-connection string ומריצים, ובסוף Console.ReadLine כדי שהחלון לא ייסגר.
טעויות נפוצות
- יש להגדיר לקובץ appsettings.json את האפשרות Copy if newer, אחרת הוא לא יגיע לתיקיית ההרצה.
- בכתיבת localhost ב-connection string לפעמים MongoDB דורש כתובת IP.
אחרי ההרצאה הפרויקט מוכן, ואפשר להמשיך לבניית מודלים ולפעולות על המסד.
השיעור הבא בקורס: יצירת MongoDB - Model Entity Framework

פרקי ההרצאה: יצירת פרויקט חדש לעבודה עם MongoDB

  1. 00:00

    פתיחת פרויקט Music חדש

  2. 00:54

    הגדרת Namespace וקובץ הקונפיגורציה

  3. 01:51

    Connection String לשרת MongoDB

  4. 02:28

    localhost מול 127.0.0.1 ושם הדאטאבייס

  5. 03:06

    למה עובדים ב-Code First במונגו

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

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

  1. 00:02

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

  2. 00:19

    מה שאני רוצה לעשות זה קודם כל לפתוח פרויקט חדש לגמרי, לא קשור לפרויקטים הקודמים. אנחנו נכנסים לוויז'ואל סטודיו, Create a New Project, בוחרים, אני כמובן אבחר Console Application, כי אני רוצה את הדבר הפשוט ביותר, בואו נעשה נקסט.

  3. 00:36

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

  4. 00:51

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

  5. 01:09

    נרד פה למטה, זה אמור להיות זה, ואנחנו רוצים להתחיל לבצע סטאפ נכון לפרויקט. גם בגישה ל-MongoDB אנחנו רוצים to add a new item עבור קובץ קונפיגורציה.

  6. 01:27

    בואו נחפש קובץ javascript json configuration אנחנו רוצים לקרוא לו appsettings.json כמובן שגם כאן ה-connection string יכולה להיות בקובץ הזה ויכולה להיות ב-appsecrets כמו שראינו מה שאנחנו רוצים לעשות זה לבנות connection strings ואנחנו רוצים use it אנחנו בעצם רוצים להתחבר ל-connection string של מונגו די בי שהיא MongoDB, נקודותיים,

  7. 01:58

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

  8. 02:12

    כאשר אנחנו כותבים את הקונקשן סטרינג כאן אנחנו לא כותבים לוקל הוסט, אנחנו כותבים 127.0.0.1 שזה IP אדרס כשם נרדף ללוקל הוסט, זה גם המחשב הנוכחי אבל נתקלתי לא פעם שאם אנחנו רושמים לוקלוסט זה לא עובד מונגו דיבי אומרת לנו תביאו לי IP אדרס אמיתי ולא לוקלוסט שוב יכול להיות שזה

  9. 02:36

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

  10. 02:59

    שימו לב למשהו מעניין אין לי פה כרגע דאטאבייס כזה אז כאן מתחילה השאלה האם אנחנו עובדים בשיטת דאטאבייס first או בשיטת קוד first. אם הייתי עובד בשיטת דאטאבייס first אז הייתי צריך ללכת ולבנות כאן את הדאטאבייס אולי קולקשנים ואז להתחבר עם מונגו db ולגרום ל-entity framework לייצר עבורנו

  11. 03:25

    קוד מודלים. נכון להיום, Entity Framework לא יודעת לעשות את זה על MongoDB. יכול להיות שזה חבל, יכול להיות שזה לא כזה חשוב לנו, נכון להיום אין מצב של Database First עבור MongoDB.

  12. 03:42

    אין. אולי מחר יהיה, אולי בעוד שנה יהיה, אולי אף פעם לא יהיה, אבל זה מה שקורה נכון להיום. אין לנו ברירה אלא לעבוד בשיטת Code First, ולמעשה שיטת Code First יותר פשוטה כאן, מ-code first שעבדנו על sql server אין לנו צורך במיגריישנס לדוגמה אנחנו נגיע לזה אז קודם כל יש לנו את ה-connection string זה ה-setup הראשון שעשינו שוב יכלנו במקום זה

  13. 04:10

    להשתמש ב-app secrets כרגע זה לא כזה משנה

לקורס המלא: קורס Entity Framework Core

ההרצאה הקודמת: ביצוע Export ו-Import - למסד נתונים MongoDB

ההרצאה הבאה: יצירת MongoDB - Model - Entity Framework

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

  • יצירת פרויקט חדש
  • יצירת פרויקט חדש ב-Eclipse
  • יצירת פרויקט חדש ב-React
  • יצירת פרויקט חדש ב-Android Studio

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

  • קורס דוט-נט - NET Core. - עם Rest API
  • קורס ASP.NET
  • קורס MVC
  • קורס Git ו-GitHub עם Visual Studio