با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن ،هفدهمین جلسه از آموزش های دوره MongoDB را با آموزش Indexing در MongoDB شروع می کنیم.ایندکسها در MongoDB ساختارهای دادهی مخصوصی هستند که بخش کوچکی از مجموعه دادهها را به شکل سادهای برای پیمایش، ذخیره میکنند. ایندکس، مقدار فیلد یا فیلدهای خاصی را که بعنوان ایندکس تعیین شدهاند، ذخیره میکند.
1 | >db.COLLECTION_NAME.ensureIndex({KEY:1}) |
1 2 | >db.mycol.ensureIndex({"title":1}) > |
1 2 | >db.mycol.ensureIndex({"title":1,"description":-1}) > |
پارامتر | نوع داده | توضیحات |
background | بولین | ایندکس را در پس زمینه میسازد،ساخت ایندکس، بقیه فعالیتهای پایگاه داده را مسدود یا متوقف نمیکند. برای این کار مقدار را true تعیین کنید. مقدار پیش فرض false است. |
unique | بولین | یک ایندکس یکتا را میسازد. در این حالت مجموعه، اجازه درج سندهایی را که مقدار کلید یا کلیدهای آنها از قبل وجود دارند، نخواهد داد. برای ساخت یک ایندکس یکتا مقدار را true تعیین کنید. مقدار پیش فرض آن false است. |
name | رشته | نام ایندکس را مشخص می کند. اگر تعیین نشود MongoDB نامی را توسط الحاق نام فیلدها و ترتیب مرتب سازی تولید میکند. |
dropDups | بولین | ایندکسی را بر روی فایل میسازد که ممکن است مقادیر تکراری داشته باشد. MongoDB فقط اولین پیشامد از یک کلید را ایندکس میکند. همچنین همه سندهایی را که پیشامد ثانویه کلید هستند، از مجموعه حذف میکند. برای ساخت ایندکس یکتا مقدار را true تعیین کنید. مقدار پیش فرض آن false است. |
sparse | بولین | اگر مقدار آن true تعیین شود، ایندکس فقط به سندهایی با فیلد تعیین شده رجوع میکند. این ایندکسها از فضای کمی استفاده کرده و در برخی موقعیتها متفاوت رفتار میکنند. مقدار پیش فرض آن false است. |
expireAfterSeconds | عددی | تعیین مقداری برای ثانیه بعنوان TTL، برای کنترل کردن اینکه چه مدت MongoDB اسناد را در این مجموعه نگه دارد. |
v | ورژن ایندکس | شمارهی نسخه ایندکس. نسخهی ایندکس پیش فرض بستگی به نسخه mongod درحال اجرای هنگام ساخت ایندکس دارد. |
weights | سند | وزن یک عدد بین ۱ تا ۹۹۹۹۹ است و مشخص کنندهی اهمیت فیلد با دیگر فیلدهای ایندکس شده از نظر امتیاز است. |
default_language | رشته | برای یک ایندکس متنی، زبانی برای تعیین کردن لیست کلمات متوقف کننده و نقش هایی برای ریشهیابی و نشانه گذاری کلمات. |
language_override | رشته | در یک ایندکس متنی، تعیین کننده نام فیلد در سند که شامل زبانی برای لغو کردن زبان پیش فرض است. مقدار پیش فرض آن language است. |
همانطور که گفته شد Indexing در MongoDB بخش کوچکی از مجموعه دادهها را به شکل سادهای برای پیمایش، ذخیره میکنند.امیدوارم از مطالب ذکر شده بهره کافی را برده باشید با ما همراه باشید تا در جلسه بعد، توابع جمعی در MongoDB را آموزش ببینید.