מדריך MongoDB : מהו Collection

מדריך על כיצד יוצרים ומכניסים נתונים למסד נתונים מסוג MongoDB

במאמר הקודם למדנו על התקנת סביבת העבודה של 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

פוסטים נוספים שכדאי לקרוא

פתרונות ומאמרים על פיתוח אינטרנט

יישום של nonce על מנת להגן מפני התקפות injection

בפוסט הקודם הסברתי על hash עם CSP על משאבי inline – שזה נחמד ומעולה אבל פחות ישים בעולם האמיתי שבו בדרך כלל התוכן ה-inline (בין

גלילה לראש העמוד