מדריך MongoDB : מהו Collection

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

על מנת להשתמש במסד נתונים, אנו צריכים להשתמש בו – כן! בדיוק כמו ב-MySQL וגם הסינטקס. בואו ונכתוב:


use test

בניגוד ל-MySQL המעיק, פה לא צריך להשתמש ב’;’. זו כבר סיבה מעולה לעבור ל-MongoDB, אבל במקרה הזה אני סתם ממורמר 🙂

MongoDB יכתוב לנו שעברנו ל-test, אבל אם נסתכל על רשימת מסדי הנתונים נוכל לראות ש


showdbs

לא יחזיר לנו את test. זה כי אנו צריכים ליצור collection! מה זה collection? זו המקבילה של MongoDB לטבלה. בעצם כל collection זה אוסף של נתונים. למשל users, pages וכך הלאה. כל אוסף כזה מייצג ישות כלשהי. כל collection מכיל אובייקטים מבוססי JSON שנקראים documents, כאשר כל אובייקט יכול להיות שונה לחלוטין. כך למשל test יכול להכיל שני documents שכל אחד מהם נראה שונה לחלוטין.

מבולבלים? הכי טוב זה עם דוגמה. בואו וניצור document אחד


my_first_document = { name : "ran" }

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


my_children = { name : ["Omri","Kfir","Daniel","Michak"] }

ה-document הוא בעצם אובייקט JSON לכל דבר ואני יכול להתפרע בו כרצונו, אבל אנחנו ממהרים יותר מדי, קודם בואו וניצור את ה-collection, אחרי שיצרתי את ה-document והוא מרחף כרגע בחלל בלי לעשות כלום, בואו ונגרום לו לחיות באמצעות הכנסתו ל-collection. שמו של ה-collection בישראל יהיה testData. וככה זה הולך:


db.testData.insert(my_first_document)

הפידבק שנקבל הוא:


WriteResult({ "nInserted" : 1 })


בבת אחת נוצרו כאן כמה דברים – ראשית נוצר מסד נתונים! עם היצירה של ה-collection, נוצר מסד הנתונים test. אם נסתכל באמצעות הפקודה show dbs נוכל לראות אותו סוף כך סוף. בנוסף, נוצר כאן collection בשם testData, על מנת להציג את כל ה-collections שיש לנו במסד הנתונים שאנו משתמשים בו, אנו יכולים להשתמש בפקודה:


show collections

ואם נשתמש בה נוכל לראות את ה-collection המדהים שלנו!

בנוסף, יצרנו document. ראשית באופן ערטילאי ואז באופן ממשי באמצעות הפקודה


db.testData.insert(my_first_document)

היצירה הזו בעצם יצרה גם document וגם את כל השאר.

בגדול, אפשר לומר ש:

MySQL MongoDB
db db
table collection
row document

זה לא ממש מקבילה מדויקת – כי למשל בניגוד ל-MySQL אנו יכולים להכניס כמה סוגי documents לתוך collection אחד ואין לנו סכמה קשוחה כדי לעבוד איתה – אבל על זה במאמר הבא.

במאמר הבא אנו נדבר על איך שולפים נתונים מ-MongoDB

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

אהבתם? לא אהבתם? דרגו!

לא אהבתי בכלללא אהבתיבסדראהבתיאהבתי מאוד (10 הצבעות, ממוצע: 5.00 מתוך 5)

תגיות: פורסם בקטגוריה: MongoDB

אל תשארו מאחור! יש עוד מה ללמוד!

6 comments on “מדריך MongoDB : מהו Collection
  1. קוסטה הגיב:

    הסבר מדהים

  2. הי,
    אני עובד עם mongoose בשילוב עם (express.js) ונתקלתי בתופעה משונה (לקח לי כמה שעות למצוא את זה)
    יצרתי דרך הshell של mongoDb שנקרא mongo מבנה נתונים (collection) שקראתי לו
    student ולא הצלחתי לשלוף נתונים מהתוכנה (mongoose)
    רק אחרי הרבה אלימינציה ראיתי שה mongoose שינה את השם ללשון רבים כלומר students
    רשום על זה כאן
    http://stackoverflow.com/questions/7486528/mongoose-force-collection-name
    וכאן
    http://mongoosejs.com/docs/guide.html#collection

  3. שמוליק הגיב:

    מדריך נהדר. עד כמה אתה ממליץ לעבור מmmysql לmongo? התחלתי לפתח בNODE אחרי כמה שנים ב-PHP ואני בשלבי התאהבות