MongoDB מספק למשתמשיה את היכולת ליצור מאגרי מידע מודרניים שניתן לגשת אליהם ולהתמודד איתם בקלות.
MongoDB הוא מסד נתונים של קוד פתוח NoSQL הזמין לשימוש בכל מערכות ההפעלה.
אם למדת עיצוב מסדי נתונים בבית הספר, רוב הסיכויים שלא למדת כיצד להשתמש ב- MongoDB או לצבור ניסיון רב בבסיסי NoSQL. זה לא מפתיע - עד שנת 1998 אנשים רבים אפילו לא שמעו על NoSQL, ורק בשנת 2009 מסדי נתונים של NoSQL החלו לצבור כוח.
מהו NoSQL?
ראשי התיבות SQL מייצגים "שפת שאילתות מובנית". SQL משמש לביצוע פעולות מתמטיות על נתונים המוחזקים בבסיסי נתונים אשר בנויים בצורה נוקשה על ידי שורות ועמודות (טבלאות).
ראשי התיבות NoSQL, תלוי את מי שאתה שואל, מייצג "לא רק SQL" או "לא SQL". עם זאת, העובדה היחידה שכולם יכול להסכים על כך ש- NoSQL משמש לביצוע פעולות על נתונים המוחזקים בבסיסי נתונים שאינם מובנים על ידי שורות ו- עמודות.
ישנם כמה מסדי נתונים של NoSQL, אך השם העומד מעל השאר הוא MongoDB. למעשה, יש אנשים שחושבים כי MongoDB הוא בסיס הנתונים היחיד מסוגו.
מה זה MongoDB?
NoSQL תומך בארבעה סוגים שונים של מאגרי מידע: מסמכים, מאגרי ערך מפתח, מונחים עמודות וגרף. MongoDB הוא מסד נתונים של מסמכים מכיוון שהוא שומר נתונים במסמך דמוי JSON, וכמו כל מסדי הנתונים הוא תומך בכל פעולות ה- CRUD החיוניות.
קָשׁוּר: כיצד מסד נתונים של MongoDB יכול לארגן טוב יותר את הנתונים שלך
מהן פעולות CRUD?
ראשי התיבות CRUD מייצגים "ליצור, לקרוא, לעדכן ולמחוק". CRUD מייצג את ארבע הדרישות הפונקציונליות הבסיסיות של כל מסדי הנתונים. אם אתה משתמש במסד נתונים שלא מאפשר לך ליצור, לקרוא, לעדכן או למחוק רשומות, זה לא מסד נתונים.
הורד את MongoDB
לפני שתוכל לבצע פעולות CRUD ב- MongoDB, יהיה עליך להוריד ולהתקין את MongoDB ב- שלך מכשיר (או השתמש בגרסת ענן זמינה), הפעל את שרת MongoDB, התחבר אליו ולבסוף צור חדש מאגר מידע.
ניתן להוריד את שרת MongoDB מהפקיד הרשמי אתר MongoDB.
ביצוע שרת MongoDB
הפעל את שרת MongoDB מהקונסולה של ה- IDE שלך.
/ משתמשים / מנהל / Mongodb / bin / Mongod.exe - dbpath = / משתמשים / מנהל / נתונים Mongong
הקוד שלמעלה מבצע את שרת MongoDB. המחצית הראשונה מספקת את הנתיב הישיר לקובץ ההפעלה של MongoDB (mongod.exe) המאוחסן במכשיר שלך. שם הנתיב במכשיר שלך צריך להיות שונה, אך המטרה היא להגיע לקובץ mongod.exe בתיקיית bin.
המחצית השנייה של הקוד (המופרדת על ידי סרגל הרווח) היא שם נתיב נוסף. נתיב זה מוביל ל- "mongodb-data", שהוא קובץ שתצטרך ליצור בעצמך. קובץ זה יכיל את כל הנתונים שנוצרו במסד הנתונים שלנו.
הקובץ שלנו נקרא "mongodb-data", אך השם יכול להיות כל מה שלדעתכם מתאים.
ביצוע הקוד לעיל אמור לייצר מספר שורות קוד, אך ניתן לראות את שתי השורות שעליך לשים לב אליהן בהמשך:
{"t": {"$ date": "2021-04-14T18: 10: 11.779-05: 00"}, "s": "I", "c": "NETWORK", "id": 23015, "ctx": "מאזין", "msg": "האזנה ב-", "attr": {"address": "127.0.0.1"}}
{"t": {"$ date": "2021-04-14T18: 10: 11.797-05: 00"}, "s": "I", "c": "NETWORK", "id": 23016, "ctx": "מאזין", "msg": "ממתין לחיבורים", "attr": {"port": 27017, "ssl": "off"}}
שתי שורות אלה מכילות את localhost ואת יציאת ברירת המחדל של שרת MongoDB, בהתאמה. שני מספרים אלה נדרשים כדי ליצור מאוחר יותר חיבור לשרת MongoDB כדי שנוכל לבצע את פעולות ה- CRUD שלנו.
ביצוע פעולות CRUD
כעת, כאשר שרת MongoDB שלנו פועל, אנו יכולים להתחבר אליו (באמצעות מנהל ההתקן המתאים) ולהתחיל לבצע פעולות CRUD. למאמר זה ניצור מאגר משתמשים פשוט שיאחסן את שמות וגילאי המשתמשים שלנו.
יצירת משתמש
ישנן שתי דרכים עיקריות להכניס משתמשים למסד נתונים של MongoDB. שתי השיטות דומות למדי, אך השיטה שעליך לבחור תלויה במספר המשתמשים שתרצה ליצור במקרה ספציפי. אם המטרה שלך היא ליצור משתמש אחד, עליך להשתמש ב- insertOne שיטה.
עם זאת, אם המטרה היא ליצור יותר ממשתמש אחד בכל פעם, אז insertMany שיטה היא אפשרות טובה יותר.
דוגמה לשיטת MongoDB insertOne
// יבוא מונונג-דוב והשתמש בהשמדה כדי לקבל את הפונקציה MongoClient
const {MongoClient} = דורש ("מונגודב");
// כתובת ה- URL לחיבור ומסד הנתונים שאליו אנו מתכוונים להתחבר
const connectionURL = 'mongodb: //127.0.0.1: 27017';
const databaseName = 'user-manager';
// באמצעות פונקציית החיבור ב- MongoClient להתחברות לשרת MongoDB
MongoClient.connect (connectionURL, {useUnifiedTopology: true}, (error, client) => {
// לבדוק אם נוצר חיבור
אם (שגיאה) {
להחזיר console.log ('לא ניתן להתחבר למסד נתונים');
}
// גישה למסד הנתונים של מנהל המשתמשים
const db = client.db (databasename);
// הכנס משתמש אחד למסד הנתונים
db.collection ('משתמשים'). insertOne ({
שם: 'ג'ון דו',
גיל: '28'
}, (שגיאה, תוצאה) => {
אם (שגיאה) {
להחזיר console.log ('לא ניתן ליצור משתמש');
}
console.log (result.ops);
})
})
לפני שנוכל ליצור משתמשים כלשהם, צריך ליצור קשר עם שרת MongoDB באמצעות מנהל ההתקן MongoDB של השפה בה אתה משתמש. הנהג הפופולרי ביותר, וזה שאנו משתמשים בו במדריך זה, הוא מנהל ההתקן של NodeJS.
עם השורה הראשונה של הקוד שלנו לעיל, אנו יכולים להשתמש בשיטת ההרס כדי לאחזר את הפונקציה MongoClient מהשרת שלנו.
MongoClient מקבל שלושה טיעונים:
- URL (משמש לחיבור לשרת MongoDB)
- אפשרויות / הגדרות (שבמקרה זה מגדירות את המשתנה "useUnifiedTopology" לאמיתי, כדי להקל על השימוש במנוע גילוי הניטור החדש של השרת)
- פונקציית התקשרות חוזרת שלוקחת שני ארגומנטים (שגיאה ולקוח)
במסגרת פונקציית ההתקשרות חוזרת של שיטת MongoClient, אנו יכולים סוף סוף להכניס משתמש למסד הנתונים שלנו. אך לפני שנגיע לנקודה זו, עלינו לקבל גישה למסד הנתונים של מנהל המשתמשים.
אחד היפים בשימוש ב- MongoDB הוא שאין צורך ליצור במפורש מסד נתונים. ברגע שנוצר הפניה למסד נתונים מסוים באמצעות טיעון "לקוח" (כפי שנראה בקוד לעיל), אתה רשאי להתחיל לתפעל אותו.
ההתייחסות למסד הנתונים של מנהל המשתמשים שאנו מייצרים נשמרת במשתנה "db", שבו נשתמש כדי להוסיף את המשתמש הראשון שלנו למסד הנתונים.
באמצעות הפניה "db" נוכל ליצור אוסף חדש, אותו אנו מקצים את השם "משתמש".
ה insertOne השיטה לוקחת שני טיעונים נדרשים; את המסמך (המשתמש) ופונקציה להתקשרות חוזרת. עם ה insertOne אנו יכולים להכניס משתמש בשם פיטר דייויס עם גיל 32, למסד הנתונים שלנו.
פונקציית ההתקשרות חוזרת לוקחת שני ארגומנטים (שגיאה ותוצאה). פונקציית התוצאה מכילה שיטת ops בה אנו משתמשים כדי לראות את המשתמש שיצרנו זה עתה במסד הנתונים שלנו. זה מייצר את הפלט הבא במסוף לאחר ביצוע הקוד לעיל:
[{name: 'Peter Davis', גיל: '32', _id: 60772f869475e84740003c45}]
למרות שסיפקנו רק שני שדות בעת יצירת משתמש, אתה יכול לראות מהפלט שלמעלה שנוצר שדה שלישי. זה עוד דבר מגניב ב- MongoDB; זה יוצר אוטומטית מזהה ייחודי לכל מסמך שהוא יוצר.
קָשׁוּר: במה שונה דוגמנות נתונים ב- MongoDB?
קריאת משתמש ב- MongoDB
שתי השיטות העיקריות המשמשות לקריאת מסמכים מ- MongoDB הן: למצוא ו findOne. ה למצוא השיטה משמשת לקריאת מספר מסמכים בו זמנית findOne השיטה משמשת לקריאת מסמך בודד בכל פעם.
דוגמה לשיטת MongoDB findOne
// ייבא מונודוב והשתמש בהשמדה כדי להשיג את שיטת MongoClient
const {MongoClient} = דורש ("מונגודב");
// כתובת ה- URL לחיבור ומסד הנתונים שאליו אנו מתכוונים להתחבר
const connectionURL = 'mongodb: //127.0.0.1: 27017';
const databaseName = 'user-manager';
// באמצעות פונקציית החיבור ב- MongoClient להתחברות לשרת MongoDB
MongoClient.connect (connectionURL, {useUnifiedTopology: true}, (error, client) => {
// לבדוק אם נוצר חיבור
אם (שגיאה) {
להחזיר console.log ('לא ניתן להתחבר למסד נתונים');
}
// ליצור את מסד הנתונים של מנהל המשתמשים
const db = client.db (databasename);
// מציאת משתמש אחד למסד הנתונים
db.collection ('משתמשים'). findOne ({שם: 'פיטר דייוויס'}, (שגיאה, משתמש) => {
אם (שגיאה) {
להחזיר console.log ('לא ניתן היה למצוא משתמש');
}
console.log (משתמש);
})
});
טוב לזכור שתמיד תצטרך להתחבר לשרת MongoDB ולמסד הנתונים המתאים לפני שתוכל לבצע פעולות CRUD (כפי שנראה בדוגמה שלנו לעיל).
ה findOne השיטה לוקחת שני טיעונים נדרשים. הטיעון הראשון מכיל את קריטריוני החיפוש; אתה יכול לחפש מסמך באמצעות כל שם משתנה שייחודי לו. בדוגמה שלנו לעיל אנו משתמשים בשם "פיטר דייויס".
הטיעון השני של findOne השיטה היא פונקציית ההתקשרות שלוקחת שני ארגומנטים; הראשון הוא שגיאה אם לא ניתן לאתר את המסמך, והשני הוא המסמך (אותו כינינו "משתמש").
ביצוע הקוד לעיל יניב את התוצאה הבאה במסוף:
{_id: 60772f869475e84740003c45, שם: 'פיטר דייוויס', גיל: '32'}
עדכון משתמש ב- MongoDB
ישנן שתי שיטות זמינות לעדכון מסמכים ב- MongoDB. למרות שהמבנה של שניהם דומה מאוד, updateOne משמש לעדכון מסמך אחד בכל פעם updateMany משמש לעדכון מסמכים רבים בכל פעם.
דוגמה לשיטת MongoDB updateOne
// עדכן את גיל המשתמש
db.collection ('משתמשים'). updateOne ({שם: "פיטר דייוויס"},
{
$ set: {
גיל: '24'
}
})
בעזרת הקוד שלמעלה אנו יכולים לעדכן את גילו של פיטר דייויס ל -24.
מחיקת משתמש ב- MongoDB
ישנן שתי שיטות זמינות למחיקת מסמך מ- MongoDB. ה deleteOne השיטה משמשת למחיקת מסמך יחיד, ו- deleteMany השיטה משמשת למחיקת מספר מסמכים.
דוגמה לשיטת MongoDB deleteOne
// למחוק מסמך
db.collection ('משתמשים'). deleteOne ({שם: 'פיטר דייוויס'})
פעולת המחיקה היא פעולת ה- CRUD הפשוטה ביותר שניתן לבצע ב- MongoDB. כפי שניתן לראות בדוגמה לעיל (לא כולל קוד החיבור הנדרש ופונקציית ההתקשרות), זה לוקח רק שורה אחת של קוד.
כעת אתה יכול לבצע פעולות CRUD ב- MongoDB
כעת יש לך ידע בסיסי ב- MongoDB, ואתה יודע מה פירוש NoSQL. אתה יודע גם מה ראשי התיבות CRUD ומדוע פעולות אלה הן תכונות חיוניות של כל מסד נתונים.
מאמר זה מספק לך את כל הכלים הדרושים לביצוע ארבע פעולות ה- CRUD הבסיסיות ב- MongoDB. כעת, כשאתה מצויד בידע פעולות ה- CRUD, תוכל להתחיל ללמוד כיצד לדגמן את הנתונים שלך בצורה הטובה ביותר באמצעות MongoDB.
קרדיט תמונה: אלכסנדר סוסלוב /WiKiMedia Commons
שוקלים גישה שונה למסדי נתונים? כך עובדת דוגמנות נתונים ב- MongoDB.
קרא הבא
- תִכנוּת
- הדרכות קידוד
- מאגר מידע
Kadeisha Kean היא תוכנת Full-Stack תוכנה וסופרת טכנית / טכנולוגית. יש לה יכולת מובהקת לפשט כמה מהמושגים הטכנולוגיים המורכבים ביותר; הפקת חומר שניתן להבין בקלות על ידי כל טירון טכנולוגי. היא נלהבת לכתוב, לפתח תוכנות מעניינות ולנסוע בעולם (באמצעות סרטי תעודה).
הירשם לניוזלטר שלנו
הצטרף לניוזלטר שלנו לקבלת טיפים טכניים, ביקורות, ספרים אלקטרוניים בחינם ומבצעים בלעדיים!
צעד אחד נוסף !!!
אנא אשר את כתובת הדוא"ל שלך בדוא"ל ששלחנו לך זה עתה.