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

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

מהם אינדקסים ב- MongoDB?

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

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

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

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

instagram viewer

נניח שאתה רוצה לסדר גילאים גבוהים ממספר מסוים לפי תאריך הכניסות היורד שלהם. השאילתה שלך נראית בדרך כלל כך:

db.collectionName.find({age: {$gt: 50}}).sort({date: -1})

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

במקרה זה, השאילתה לעיל הופכת:

db.collectionName.find({גיל: {$gt: 50}})

כיצד ליצור אינדקס ב- MongoDB

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

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

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

לדוגמה, אינדקס שמסדר את הגיל בסדר הפוך נראה כך:

db.userCollection.createIndex({age: -1})

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

כדי ליצור אינדקס של אותו שדה בעלייה, החלף -1 עם 1:

db.userCollection.createIndex({גיל: 1})

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

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

צור אינדקס יחיד ב- MongoDB

אינדקס יחיד ב- MongoDB הוא פשוט. כדי להתחיל, בחר מסד נתונים שכבר מכיל אוספים.

נגיד ששם מסד הנתונים שלנו הוא MUO:

השתמש ב-MUO

לאחר שתבחר מסד נתונים, השתמש ב- createIndex() פקודה במעטפת ליצירת אינדקס בודד.

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

db.collectionName.createIndex({שם משתמש: -1})

אינדקס מרובה מפתחות ב- MongoDB

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

אתה יכול ליצור אינדקס מרובה מפתחות על הגובה של כל משתמש באותו מערך כך:

db.customers.createIndex({user.height: 1})

ה גוֹבַה בקוד לעיל יש תת-קבוצה של מִשׁתַמֵשׁ שדה.

צור אינדקס מורכב

אינדקס מורכב מכיל יותר מאינדקס אחד. כדי ליצור אינדקס מורכב של כתובת וסוג מוצר באוסף לקוחות, למשל:

db.customer.createIndex({כתובת: 1, מוצרים: 1})

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

כדי לציין שם בעת יצירת אינדקס מורכב:

db.customers.createIndex({מיקום: 1, מוצרים: 1, משקל: -1}, {שם: "myCompundIndex"})

קבל את כל האינדקסים באוסף

כדי להציג את כל האינדקסים באוסף:

db.collectionName.getIndex()

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

ארגן את מסד הנתונים שלך עם אינדקסים

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

כיצד לבצע פעולות CRUD ב- MongoDB

היכרות עם MongoDB היא מסובכת. פגע בקרקע עם CRUD.

קרא הבא

לַחֲלוֹקצִיוּץאימייל
נושאים קשורים
  • תִכנוּת
  • פִּיתוֹן
  • תִכנוּת
  • מאגר מידע
על הסופר
Idowu Omisola (119 מאמרים שפורסמו)

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

עוד מאת Idowu Omisola

הירשם לניוזלטר שלנו

הצטרף לניוזלטר שלנו לקבלת טיפים טכניים, ביקורות, ספרים אלקטרוניים בחינם ומבצעים בלעדיים!

לחץ כאן כדי להירשם