
_id: זו העמודה היחידה שחובה בכל מסמך, והיא מזהה חד ערכי. אפשר למלא אותה בערך ייחודי בעצמנו, או להשאיר למערכת, והיא תיצור מספר הקסדצימלי._id שנוצר אוטומטית, אף על פי שמבנהו שונה מהאחרים.הטקסט המלא של הדקות הראשונות בהרצאה «עבודה עם Compass ב- MongoDB» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
בטרם נצלול פנימה לפקודות של המונגו די בי בואו נראה קצת מה קורה כאן בתוך הקומפס בתוך המערכת שמציגה לנו את הנתונים בצורה גרפית אז טענתי דאטאבייסים סמפלס דאטאבייס כדוגמה של חברת מונגו די בי שמציעים לנו בעצם אפשרות.
once אני נכנס לתוך דאטאבייס אני יכול לראות כאן אוסף של קולקשנים שיש אז יש לנו כאן את הסמפל דאטאבייס שנקרא suppliers ובתוכו אני יכול לראות את קולקשן של סיילס ויש לנו סאמפל דאטאבס של טריינינג ובתוכו אני יכול לראות מספר קולקשן שונים.
אם ניכנס כאן לסאמפל Airbnb אני רואה שיש לי כאן קולקשן בשם Listing and Reviews קולקשן נוסף. אני מקבל כאן חיווי אודות הגודל הממוצע של כל דוקיומנטס מה שאנחנו מקבילה שלנו כל רשומה הגדלים הם לא אחידים מאחר ומדובר, כפי שציינו, בדוקיומנטים בעלי מבנה שונה זה מזה.
סך הכל יש לנו 5,555 דוקיומנטים. מה הגודל של כל הדוקיומנטים עצמם? הגודל שאנחנו מדברים כאן הוא 90 מגה. בואו נצלול פנימה. ואנס אנחנו צולמים פנימה, אז אנחנו מקבלים דוגמה לכל דוקיומנט ודוקיומנט.
כלומר, כל דוקיומנט שלנו, יכול לראות את המידע שלו ולהתחיל לגלול ולראות אותם. כל דוקיומנט במונגו די.בי, כל דוקיומנט בעולם חייב לקבל עמודה אחת שהיא מנדטורית.
העמודה עצמה נקראת underscore ID. עמודת ה-underscore ID זו עמודה מחויבת, וזה הכלל היחיד שמחייב אותנו מבחינה ארכיטקטורית בתוך דאטאבס של מונגו די.בי, תהיה לנו עמודה underscore ID כמזהה חד ערכי.
יש לי אפשרות אני להכניס את הנתונים עצמם ולמלא את העמודה הזאת על ידי ערך יוניקי חד ערכי בתוך ה-collection עצמו, ויש לי אפשרות לתת למערכת, ואז המערכת ממלאה אותו במספר הקסא דצימלי כלשהו כפי שהיא מחשבת בעת יצירת הרישום עצמו.
הרי לפנינו דוקיומנטס שמתאר לנו בעצם את הרשומה, את המידע הבודד עבור הדאטאבס שבו אנחנו נמצאים, דאטאבס שנקרא סאמפל Airbnb.
אז נתונים שיש לנו כאן רבי ירה קרמינג דופלקס תיאור של הנכס עצמו סאמרייז ספייס דיסקריפשן נייברהודס ניוטס כל אחד ואחד מהמאפיינים הללו.
יש לנו כאן גם נתונים מספריים קומודייטס בדרום בטס. יש לנו כאן נתונים שמקבלים תאריך וזה פחות או יותר מבנה הרשומות כאן, מבנה הדוקימנט כפי שהם כרגע מתוארים לנו בתוך הנתונים עצמם.
אני יכול גם אני בעצמי להוסיף דאטה, אני יכול לעשות לו אימפורט מתוך קובץ. במידה ויש לי קובץ שהוא בעצם במבנה של ג'ייסון אז אני יכול לייבא אותו לכאן, אין שום בעיה לעשות זאת ואנחנו נעשה זאת בהמשך.
במידה ולא, אם אני רוצה ליצור דוקיומנט בעצמי, אז נפתח לי כאן מסך שבו אני יכול ליצור את הדוקיומנט בעצמי. כאן הכל נפתח כהערות, אבל אם אני עובר לתצוגה השנייה, תצוגה שבה אני יכול לראות את התוכנית עצמם, אז אני יכול לכתוב כאן כל מה שאני רוצה, first name, לתאר את השם שאותו אני רוצה ולהוסיף כאן עוד
שורה נוספת כדי להכניס לנו בעצם עוד נתון. First name city, city כ-key וכ-value אנחנו יכולים להכניס כאן את לונדון וכל דבר שעולה בדעתנו, birthdate והתאריך עצמו וכולי וכולי.
כל אחד מהשדות הללו אני יכול להגדיר עליהם האם מדובר בשדה שהוא בוליאני, שדה ש-Is Manager ולהחליט שהשדה עצמו הוא יהיה בעצם במקום סטרינג הוא יהיה פוליאני ואז הוא יקבל כאן ערכים של True/False.
אני יכול להגדיר על כל שדה בעצם לא רק True/False, אני יכול גם להגדיר מערך, מערך של דברים, במידה ויש לי אוסף של דברים שאני רוצה לתאר אותם ואני יכול לתאר שזה יכול להיות טניס וזה יכול להיות פוטבול וזה זה יכול להיות רידינג וזה יכול להיות קומפיוטרס וכולי וכולי.
כל אחד מההוביס שאני רוצה לתאר כאן, אז הוא נכנס לי בעצם תחת מערך ואני יכול באמצעותו בעצם להגדיר מה שאנחנו רוצים. נתון נוסף שאנחנו יכולים להגדיר כאן, בואו נראה אותו, זה היכולת שלי כמובן לשנות כל אחד מהשדות שהוא יהיה ביינרי, שהוא יהיה קוד דייט דצימל דאבל אינטג'ר של של 32 או של 64 ביט.
במידה ואני לוחץ כאן על הפלוס, שימו לב, אני יכול להוסיף add array element after 3, להוסיף עוד ועוד אלמנטים כחלק מה-array, אם אני רוצה לחזור למשהו שהוא array, אלא להוסיף פילדים, אני בוחר כאן את המקום האחרון שבו הכנסנו פילדים, add field, ולציין כאן כל דבר שאני רוצה לציין אותו.
בתוך האדרס אני יכול גם לכתוב תת יצירה בעצם של אובייקט, כלומר אני יכול לכתוב כאן עוד תת מסמך בעצם שנמצא תחת האדרס. כיצד את הדבר הזה אנחנו מבצעים?
אז כאמור ברגע שיש לי כאן Label, אותו Key,