תחילת העבודה עם MongoDB למתחילים

למד מהם MongoDB, מדריך התקנה ותפעול בסיסי.


MongoDB NoSQL מגמה יותר מתמיד. האם יש לך הבנה הכרחית בזה?

אל תדאגו אם לא, הדברים הבאים יעזרו לכם.

מבוא

כאשר האתר עובר שינוי פרדיגמה לעבר תוכן דינמי, הביקוש למסד נתונים של No-SQL עלה. זה הוליד מספר מסדי נתונים ללא-SQL כמו MongoDB.

MongoDB, המסווג כבסיס נתונים ללא-SQL, הוא מסד נתונים מבוסס מסמכים המאחסן את הנתונים בצורה של מסמכי JSON עם נתונים אוטומטיים המזוהים לכל מסמך.

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

זה מאפשר למפתחים לבצע שינויים במהירות בישויות ללא צורך בשינויים ברמת בסיס הנתונים.

התקנת MongoDB

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

  • MongoDB Atlas – מסד נתונים כשירות
  • שרת קהילה – ניתן לשימוש בחינם עבור קהילת המפתחים
  • MongoDB Enterprise Edition – הגרסה המסחרית עם תכונות נוספות

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

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

מתקין ב- MacOS

להתקנת MongoDB ב- MacOS. הורד את ארכיב ה- .tgz הכולל בתוכו את הבינאריים הנחוצים. לאחר ביטול ההארחה של הקובץ, אתה אמור להיות מסוגל להציג חבורה של קבצים בינאריים שנמצאים ב- סל תיקיה.

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

$ ./mongod – מסלול מסלול / נתיב לרצוי /

בפקודה שלעיל, החלף את הנתיב לספרייה בנתיב הרצוי שלך והשרת יופעל ברגע ביצוע הפקודה.

מתקין ב- Windows

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

  • בצע את הפקודות שלהלן כדי להתקין MongoDB ב- Windows PC / server.

> cd / setup-folder /
> msiexec.exe / q / i .msi ^
INSTALLLOCATION ="C: \ קבצי תוכנית \ MongoDB \" ^
ADDLOCAL ="כלי ניטור, ייבוא ​​כלי ייצוא, כלים שונים"

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

> md \ db \ נתונים

הפקודה שלעיל יוצרת תיקיית db / data בספרייה שאליה מצביע שורת הפקודה כרגע. במקרה שתצטרך להגדיר מחדש את בסיס הנתונים, תוכל להשתמש ב- mongod.exe עם dbpath טיעון כמוצג להלן:

>"C: \ קבצי תוכנית \ MongoDB \ bin \ mongod.exe" –dbpath d: \ הדרכה \ mongodb \ נתונים

מתקין בלינוקס

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

  • העבר את הקבצים הבינאריים למיקום הרצוי
  • פתח את הטרמינל בתיקיה
  • בצע את הפקודה להלן עם מיקום ה- DB הרצוי

$ ./mongod – מסלול מסלול / נתיב לרצוי /

יצירת האוסף הראשון

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

כדי לאחסן מסמכים, ראשית עלינו ליצור אוסף. הדבר המרגש בבסיס נתונים של NoSQL הוא שבניגוד למסד הנתונים של SQL, אינכם צריכים לציין את שמות העמודות או סוגי הנתונים בו..

הצעד הראשון בדרך ליצירת אוסף הוא יצירת בסיס נתונים. כדי ליצור בסיס נתונים ולהתחבר אליו בשורת הפקודה, בצע את הפקודה שלהלן מתוך ספריית הבית של ההתקנה של MongoDB.

הדרכה של $ ./bin/mongo

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

להלן תמונה של שורת פקודה לדוגמא, כדי לתת לך מושג טוב יותר לגבי אותו דבר.

  • כדי ליצור אוסף, בצע את הפקודה שלהלן:

$ > db.createCollection (‘firstCollection’);

כך נוצר אוסף ריק. השלב הבא הוא להכניס נתונים ולעשות קצת עיבוד ברשומות באמצעות שורת הפקודה MongoDB.

הכנסת מסמך לאוסף

כפי שנדון לעיל, ניתן להכניס כמעט כל JSON לכל אוסף MongoDB.

נתחיל עם הכנסת המסמך JSON הראשון למסמך איסוף ראשון אוסף שנוצר למעלה.

> db.firstCollection.insertOne ({שם: ‘Abhishek’, מיומנות: ‘MongoDB’});

הפקודה לעיל מכניסה מסמך JSON יחיד ל- FirstCollection. ניתן לאמת את אותו הדבר באמצעות הפקודה המוצגת להלן:

> db.firstCollection.find ();

לפקודה שלעיל יש שימושים רבים בהתאם לשונות של פונקציית ה- find (). כשאין טיעונים שצוינו כפי שקורה לפקודה שלעיל, הוא שולף את כל המסמכים הזמינים מהאוסף.

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

> db.firstCollection.find ();
{ "_יד" : ObjectId ("5b043a32c29a7184535e783a"), "שם" : "אבישק", "מיומנות" : "MongoDB" }
{ "_יד" : ObjectId ("5b05b4f0c29a7184535e783b"), "שם" : "GeekFlare", "מיומנות" : "Java, MongoDB, NodeJS" }

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

תהליך הסינון פשוט וניתן להבין אותו מהפקודה שלמטה:

db.firstCollection.find ({name: ‘Abhishek’});
{ "_יד" : ObjectId ("5b043a32c29a7184535e783a"), "שם" : "אבישק", "מיומנות" : "MongoDB" }

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

סינון רשומות באמצעות Regex

כדי להפעיל מקבילה MongoDB לסעיף דמוי MySQL, MongoDB משתמש regex. Regex היא סדרת דמויות שיוצרות תבנית להתאמה. מילולי הרגקס דומים ל- אלה המשמשים ב- Javascript.

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

> db.firstCollection.find ({skill: /.* MongoDB. * /});
{ "_יד" : ObjectId ("5b043a32c29a7184535e783a"), "שם" : "אבישק", "מיומנות" : "MongoDB" }
{ "_יד" : ObjectId ("5b05b4f0c29a7184535e783b"), "שם" : "GeekFlare", "מיומנות" : "Java, MongoDB, NodeJS" }
> db.firstCollection.find ({skill: / .* Java. * /});
{ "_יד" : ObjectId ("5b05b4f0c29a7184535e783b"), "שם" : "GeekFlare", "מיומנות" : "Java, MongoDB, NodeJS" }

הקוד הקודם מציג את התוצאה של שני מחרוזות שונות בצורה regex. השאילתה הראשונה מביאה את רשימת המסמך שבו תכונת המיומנות מכילה את מילת המפתח MongoDB ואילו השנייה מביאה אנשים מיומנים ב- Java בלבד.

האתגר הבא בשאילתות על בסיס קריטריונים הוא שאילתה עם תנאי OR או AND.

שאילתות מורכבות ב- MongoDB

כפי שברור מהפקודות שלעיל, MongoDB שם סעיפים עובדים על JSON. תהליך שילוב התנאים תלוי גם ב- JSON עצמה. MongoDB מספקת למפעילים כמו $ או, $ וגם $ לא לבצע את פעולות השאילתה הרלוונטיות.

ננסה להשיג את רשימת המסמכים שבהם תכונת השם מכילה את אבהישק או שהמיומנות מכילה ג’אווה.

> db.firstCollection.find ({$ או: [{name: ‘Abhishek’}, {skill: /.* Java. * /}]});
{ "_יד" : ObjectId ("5b043a32c29a7184535e783a"), "שם" : "אבישק", "מיומנות" : "MongoDB" }
{ "_יד" : ObjectId ("5b05b4f0c29a7184535e783b"), "שם" : "התפרקות גאקית", "מיומנות" : "Java, MongoDB, NodeJS" }

כפי שניתן לראות, הוא מביא את שני הרשומות. אתה יכול לנסות להשתמש במאפיין השם כ- Geekflare ולראות את השינוי. רק המסמך עם שלוש כישורים ושם Geekflare יוצג.

באופן דומה ניתן להשתמש ב- $ ובמפעיל עם מערך תנאים של JSON כמוצג לעיל.

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

> db.createCollection (‘סימני סטודנטים’);
{ "בסדר" : 1}
> db.studentmarks.insertMany ([{שם: ‘א’, סימנים: 20}, {שם: ‘B’, סימונים: 25}, {שם: ‘C’, סימנים: 22}, {שם: ‘D’, סימנים: 30}]);
{
"הודה" : נכון,
"הכנסות" : [
ObjectId ("5b06e7b5c29a7184535e783c"),
ObjectId ("5b06e7b5c29a7184535e783d"),
ObjectId ("5b06e7b5c29a7184535e783e"),
ObjectId ("5b06e7b5c29a7184535e783f")
]
}

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

דוגמה לקבלת רשימת תלמידים עם ציונים הגבוהים מ -22 מוצגת להלן.

db.studentmarks.find ({marks: {$ gt: 22}});
{ "_יד" : ObjectId ("5b06e7b5c29a7184535e783d"), "שם" : "ב", "סימנים" : 25}
{ "_יד" : ObjectId ("5b06e7b5c29a7184535e783f"), "שם" : "ד", "סימנים" : 30}

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

מפעיל
להשתמש
דוגמא
$ ש”חבדוק אם הערך שווה{marks: {$ eq: 20}}
$ ltבדוק אם הערך נמוך מ-{סימנים: {$ lt: 20}}
$ gteבדוק אם הערך גדול או שווה ל{סימנים: {$ gte: 22}}
$ lteבדוק אם הערך פחות מודה או שווה ל{סימנים: {$ lte: 22}}
$ neבדוק אם הערך אינו שווה ל{סימנים: {$ ne: 22}}
$ בבדוק אם הערך שווה לאחד הערכים מתוך המערך{סימונים: {$ ב: [20,22]}}
$ תשעהבדוק אם הערך אינו שווה לערך כלשהו מהמערך{סימנים: {$ nin: [22,25]}}

GUI עבור MongoDB

בדיון לעיל השתמשנו בשורת פקודה כדי לבצע את השאלות שלנו ב- MongoDB.

השימוש בשורת הפקודה עשוי להיות מאתגר בכל מה שקשור לשאילתות מורכבות ולקבץ נתונים גדול יותר. כדי להקל על הצגת הנתונים וביצוע השאילתות, MongoDB מספק לך כלי GUI מצוין שנקרא MongoDB Compass.

ניתן להוריד בקלות את מצפן MongoDB מה – אתר ההורדות של MongoDB. לאחר שהורדת והתקנת את MongoDB Compass, התחל את היישום, ואתה יתקבל בברכה על ידי מסך הדומה למסך המוצג להלן..

MongoDBCompass

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

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

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

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

MongoDB מסמכים

GUI מפשט הרבה פעולות שעלולות להיות קשות לביצוע באמצעות ממשק שורת הפקודה MongoDB.

סיכום

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

ואם אתה מפתח, יתכן שאתה מעוניין בכך זה.

תגיות:

  • מאגר מידע

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map