MongoDB #6
نویسنده: برات جوادی
تاریخ: ۱۳۹۳/۱۱/۰۴ ۱۱:۳۵
آدرس: www.dntips.ir
| مطالب | ۳۶۹۴ |
| نویسندگان | ۲۷۶ |
| گروههای مطالب | ۱۰۲۴ |
| نقشههای راه | ۱۱۹ |
| دورهها | ۱۴ |
| اشتراکها | ۱۷۹۱۴ |
| پارامتر | نوع | توضیحات |
| name | رشته | نام مجموعهای است که باید ساخته شود |
| Option | سند | (اختیاری) تعیین اختیارات برای اندازه حافظه و ایندکس گذاری |
| فیلد | نوع | توضیحات |
| capped | Boolean | (اختیاری) اگر مقدار آن true باشد یک مجموعهی پوشیده (capped) در اختیار میگذارد. مجموعهی پوشیده یک مجموعه با اندازه ثابت است که وقتی به حداکثر اندازه خود برسد، دادههای جدید را بصورت اتوماتیک جایگزین قدیمیترین دادهها میکند. اگر این پارامتر را true تنظیم کرده باشید، باید پارامتر size راهم مقداردهی کنید. |
| AutoIndexID | Boolean | (اختیاری) اگر true باشد، بصورت اتوماتیک روی فیلد _id ایندکس میسازد. مقدار پیش فرض این پارامتر false است. |
| size | number | (اختیاری) تعیین کنندهی حداکثر اندازه به بایت برای مجموعه پوشیده. اگر پارامتر capped برابر true باشد آنگاه نیاز دارید این پارامتر را نیز مقداردهی کنید. |
| max | number | (اختیاری) تعیین کننده حداکثر تعداد سندهای مجاز در یک مجموعه پوشیده |
هنگام درج یک سند، MongoDB ابتدا فیلد capped و سپس فیلد max را بررسی میکند.
مثال:
گرامر پایه متد ()createCollection بدون اختیارات به شکل زیر است:
>use test
switched to db test
>db.createCollection("mycollection")
{ "ok" : 1 }
> با استفاده از دستور show collection میتوانید مجموعه ساخته شده را بررسی کنید:
>show collections mycollection system.indexes
مثال زیر گرامر متد ()createCollection، با اختیارات مهمتر را نمایش میدهد:
>db.createCollection("mycol", { capped : true, autoIndexID : true, size : 6142800, max : 10000 } )
{ "ok" : 1 }
> در MongoDB، نیازی به ساخت مجموعه ندارید. وقتی یک سند را درج کنید، MongoDB بصورت اتوماتیک مجموعه را میسازد.
>db.tutorialspoint.insert({"name" : "tutorialspoint"})
>show collections
mycol
mycollection
system.indexes
tutorialspoint
> حذف مجموعهها در MongoDB
متد ()drop
دستور ()db.collection.drop برای حذف یک مجموعه از پایگاه داده استفاده میشود.
گرامر:
گرامر پایه دستور ()drop به شکل زیر است:
db.COLLECTION_NAME.drop()
ابتدا همه مجموعههای موجود در پایگاه داده mydb را بررسی کنید:
>use mydb switched to db mydb >show collections mycol mycollection system.indexes tutorialspoint >
>db.mycollection.drop() true >
>show collections mycol system.indexes tutorialspoint >