با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن ، جلسه سی و دوم از آموزش های دوره MongoDB را با ObjectId در MongoDB آغاز می کنیم.ما در تمام جلسات قبلی از Object Id درMongoDB استفاده کردیم. در این فصل، ما قصد داریم ساختار ObjectId و مواردی همچون تبدیل ObjectId به رشته در MongoDB را نیز بفهمیم .ObjectId یک نوع BSON دوازده بایتی است که دارای ساختار زیر است :
۴ بایت اول نشان دهنده ثانیه ها از دوره یونیکس است.
۳ بایت بعدی شناسه دستگاه را نشان می دهد.
۲ بایت بعدی نیز شامل شناسه پردازش می شود
آخرین ۳ بایت مقدار شمارنده تصادفی است.
MongoDB با استفاده از ObjectIds مقدار پیش فرض فیلد _id هر سند را مشخص می کند، که در هنگام ایجاد هر سند تولید می شود. ترکیب پیچیده ObjectId تمام فیلدهای _id را منحصر به فرد می کند.
برای تولید ObjectId جدید از کد زیر استفاده کنید :
1 | >newObjectId = ObjectId() |
بیانیه فوق، شناسه منحصر به فرد تولید شده زیر را باز می گرداند :
1 | ObjectId("5349b4ddd2781d08c09890f3") |
به جای اینکه توسط MongoDB یک ObjectId ایجاد کنید، شما می توانید ID دوازده بایتی را خودتان فراهم کنید :
1 | >myObjectId = ObjectId("5349b4ddd2781d08c09890f4") |
از آنجا که هر ObjectId به طور پیش فرض یک برچسب زمانی ۴ بایتی را ذخیره می کند، در بیشتر موارد شما نیازی به ذخیره زمان ایجاد هر سند ندارید. بنابراین شما می توانید زمان ایجاد یک سند را با استفاده از متد getTimestamp بدست آورید :
1 | >ObjectId("5349b4ddd2781d08c09890f4").getTimestamp() |
بدین صورت زمان ایجاد این سند در فرمت تاریخ ISO را باز می گرداند.
1 | ISODate("2014-04-12T21:49:17Z") |
در بعضی موارد، شما ممکن است مقدار ObjectId را درفرمت رشته نیاز داشته باشید. برای تبدیل ObjectId در رشته، از کد زیر استفاده کنید :
1 | >newObjectId.str |
کد بالا فرمت رشته Guid را باز می گرداند.
1 | 5349b4ddd2781d08c09890f3 |
آموزش ObjectId در MongoDB همراه با تبدیل ObjectId به رشته در MongoDB به پایان رسید.دسترسی به رشته هگزادسیمال از قابلیت های ObjectId می باشد.با ما همراه باشید تا در جلسه بعد کاهش نقشه در MongoDB را آموزش ببینید.