PracticU

ביצוע Export ו-Import
למסד נתונים MongoDB

בלי כתוביותעם כתוביות
PracticU › קורס Entity Framework Core - עבודה עם מסד נתונים בדוט-נט › ביצוע Export ו-Import למסד נתונים MongoDB
מילון מושגים:
MongoDB - מסד נתונים מסוג NoSQL שמאחסן נתונים כמסמכים בפורמט דמוי JSON, בלי מבנה טבלאי קשיח.
שורת פקודה - ממשק טקסטואלי שבו מקלידים פקודות למערכת ההפעלה ומקבלים תגובה בטקסט, במקום להשתמש בעכבר.
CSV - קובץ טקסט פשוט לאחסון נתונים טבלאיים, שבו הערכים בכל שורה מופרדים בפסיקים.
JSON - פורמט טקסט קריא לייצוג נתונים מובְנים כזוגות מפתח-ערך, נפוץ להחלפת מידע בין שרת ללקוח.
CMD - שורת הפקודה הקלאסית של Windows (Command Prompt), להרצת פקודות ותוכניות בממשק טקסטואלי.
אדמיניסטרטור - משתמש בעל הרשאות הניהול הגבוהות ביותר במערכת, שיכול לשנות הגדרות, להתקין תוכנות ולנהל משתמשים אחרים.
בינארי - ייצוג מידע בבסיס 2 בעזרת הספרות 0 ו-1. גם קובץ הכולל קוד מכונה ולא טקסט קריא.
גיבוי - העתק שמור של נתונים שנשמר כדי לאפשר שחזור במקרה של תקלה, מחיקה או פגיעה במקור.

ביצוע Export ו-Import למסד נתונים MongoDB
יש שתי דרכים לייצא ולייבא נתונים ב-MongoDB: דרך Compass לקולקשן בודד, או דרך כלי שורת הפקודה למסד שלם. השיעור עובר על שתיהן.
ייצוא וייבוא של קולקשן ב-Compass
1. ייצוא: ב-Compass בוחרים Export Data, אפשר לייצא תוצאת שאילתה (ב-Mongo Query Language) או את הקולקשן כולו, כ-CSV או כ-JSON. הקובץ שמתקבל, bookstore.books.json, מכיל מערך של כל המסמכים.
2. ייבוא: מוחקים את הקולקשן (Drop Collection), יוצרים אותו מחדש ואז Add Data ו-Import JSON or CSV file. הקולקשן חוזר.
3. מגבלה: הדובר פחות משתמש בשיטה הזו כי היא פועלת לכל קולקשן בנפרד, כמו טבלה בנפרד במסד רלציוני.
מסד שלם בשורת הפקודה
1. הכלים: בתיקיית bin של MongoDB שני כלים: mongodump לייצוא ו-mongorestore לייבוא. הם כלי command line, ולכן פותחים cmd כמנהל (Run as administrator), ועוברים עם cd לתיקיית bin.
2. ייצוא: mongodump -d bookstore. הדגל -d מציין מסד נתונים שלם. נוצרת תיקיית dump ובה תיקייה לכל מסד. לכל קולקשן שני קבצים: bson ו-metadata.json.
3. מה בקבצים: קובץ ה-bson (Binary JSON) מחזיק את המידע בפורמט בינארי, וה-metadata מחזיק נתונים על הקולקשן, כמו שמו, ולא את המידע.
4. שימוש: העתקת התיקייה היא גיבוי, והיא גם דרך להעביר מסד ממקום למקום.
5. ייבוא: מוחקים את המסד, ואז מריצים mongorestore -d bookstore dump/bookstore. הנתיב יחסי למקום שבו נמצאים. אפשר לתת למסד שם אחר. התוצאה: 6 מסמכים שוחזרו, 0 נכשלו. אחרי רענון ב-Compass המסד וכל הקולקשנים חזרו.
שימו לב
הדובר מחק את המסד במהלך ההדגמה, ומציין שלא היה עושה זאת בפרודקשן.
אפשר עכשיו לגבות, להעביר ולשחזר מסד MongoDB שלם בעזרת mongodump ו-mongorestore.

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

  1. 00:00

    אקספורט קולקשן דרך Compass

  2. 01:13

    אימפורט קולקשן חזרה למונגו

  3. 02:07

    הכלים Mongo Dump ו-Mongo Restore

  4. 02:59

    פתיחת Command Line כאדמיניסטרטור

  5. 03:37

    אקספורט כל הדאטאבייס עם Mongo Dump

  6. 04:10

    מבנה תיקיית ה-Dump וקבצי BSON

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

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

  1. 00:02

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

  2. 00:16

    זאתי שיטה אחת. שיטה אחת זה להגיד אני רוצה to export collection שלם. בואו נלך ל-export data. אנחנו יכולים to export query result, כלומר לבנות איזה שאילתא בשפת Mongo query language, אם אנחנו יודעים אותה ולהחצין או לבצע אקספורט רק לדוקימנט מסוימים אבל

  3. 00:36

    בואו נעשה כרגע אקספורט לכל הקולקשן אנחנו יכולים לבחור עם קובץ csv או json קומה ספרייטד ואליוז או json זה סוג של אקסל כזה אז אני רוצה json זה יותר אינטואיטיבי בואו נעשה אקספורט נשמור אותו אתם רואים שהוא כותב לי bookstore.books.json go בואו נסתכל עליו הנה הקובץ אם אני מסתכל על מה יש בתוכו אז אני רואה שיש פה מערך של

  4. 01:04

    כל המידע שהיה בקולקשן. איך אנחנו עושים לו אימפורט? אז נניח שאין לי את הקולקשן הזה, בואו רגע ניפטר אולי מכל הקולקשן, דופ קולקשן, בוקס, דורש ואין לי לכתוב אותו, אני צריך לייצר בוקס, קריאייט קולקשן ולבוא ולהגיד לו add data import json or csv file, בואו נבחר אותו, סלקט,

  5. 01:32

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

  6. 01:47

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

  7. 02:00

    את זה אנחנו עושים על ידי ה-Tools שהתקנו. איפה זה היה? Program Files, Mongo, Server, גרסה, Bין. יש לנו פה שני כלים בין הכלים שהתקנו, שהתפקיד שלהם זה לעשות Import ו-Export.

  8. 02:20

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

  9. 02:35

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

  10. 02:49

    לכן אנחנו צריכים לפתוח פה את הקומנד ליין אבל לפתוח אותו כאדמיניסטרטור חובה. אז בואו ניגש ונחפש cmd אבל מה שאנחנו חייבים חייבים חייבים לעשות זה מקשימני וrun as administrator כאן אנחנו חייבים לפתוח את ה-command line כאדמין אחרת אנחנו לא נוכל לבצע פעולות על תיקיית מונגו db שנמצאת פה הדבר הבא שאנחנו

  11. 03:14

    רוצים לעשות זה לנתב את עצמנו לכאן אני רגע אנקה את המסך ואני אעתיק כל הנתיב הזה של תיקיית הבין ואני אדביק אותו פה cd go יופי אנחנו נמצאים עכשיו בדיוק במקום הזה ואנחנו רוצים להשתמש עם הכלי הראשון מונגו דאמפ אז אנחנו פשוט רושמים מונגו דאמפ ואנחנו אומרים מה אנחנו רוצים לייצא to

  12. 03:37

    export האם אנחנו רוצים את כל הדאטאבייס או אם אנחנו רוצים קולקשן ספציפי כל הדאטאבייס זה מקף d תעשה לי אקספורט של כל הדאטאבייס הדבר הבא שהוא שואל אותי זה תגיד איזה דאטאבייס אתה רוצה לייצא לעשות לו אקספורט בוא נחזור בחזרה אנחנו רוצים Book Store, אוקיי, אז Book Store ו-Enter.

  13. 04:02

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

  14. 04:20

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

  15. 04:30

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

  16. 04:47

    אפשר לפתוח את הביסון ולראות מה הפורמט

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

ההרצאה הקודמת: עבודה עם Compass - כממשק משתמש ל-MongoDB

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

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

  • מבנה נתונים ב-MongoDB
  • חיבור אפליקציה למסד נתונים
  • חיבור למסד נתונים SQLite - חלק 1
  • קורס PHP - הרצאה 10 - חיבור למסד נתונים

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

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