English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

مجموعات ثابتة في MongoDB

الجمعية المحددة الحجمهي جمعية محددة الحجم دائرية، تتبع الترتيب الإدراجي، لدعم عمليات إنشاء، قراءة وإزالة عالية الأداء. الدوران تعني أن عندما يتم استنفاد الحجم المخصص للجمعية، فإنه سيبدأ في حذف الوثائق الأقدم في الجمعية دون الحاجة إلى أمر إزالة مسبق.

إذا أدى التحديث إلى زيادة حجم الوثيقة، يتم تحديد تحديث الوثائق. نظرًا لأن الجمعيات المحددة الحجم تخزن الوثائق وفقًا للترتيب الموجود على القرص، فإنها تضمن عدم زيادة حجم الوثائق عن الحجم المخصص. الجمعيات المحددة الحجم تعتبر الأنسب لتخزين معلومات السجلات، بيانات التخزين المؤقت أو أي بيانات كبيرة أخرى.

إنشاء جمعية محددة الحجم

لإنشاء جمعية محددة الحجم، نستخدم أمر createCollection العادي، لكن نضيفمحدد الحجمالخيار المعدل إلى،صحيحوإعداد حجم الجمعية الأقصى (بأوكتيت).

>db.createCollection("cappedLogCollection",{capped:true,size:10000})

إضافة إلى حجم الجمعية، يمكننا أيضًا استخدامmaxالمعدل-حد عدد الوثائق في الجمعية-

>db.createCollection("cappedLogCollection",{capped:true,size:10000,max:1000})

إذا كنت ترغب في التحقق مما إذا كانت الجمعية محددة الحجم، يمكنك استخدام الكود التاليisCappedأمر-

>db.cappedLogCollection.isCapped()

إذا كان لديك خطط لتحويل الجمعية الحالية إلى جمعية محددة الحجم، يمكنك استخدام الكود التالي للمعالجة-

>db.runCommand({"convertToCapped":"posts",size:10000})

سيقوم هذا الكود بتحويل مجموعتنا الحاليةالمنشوراتللجمعيات التي لها حد.

استعلام مجموعة الحد الأعلى

بالت defaultManager، سيتم عرض نتائج الاستعلامات في مجموعة الحد الأعلى وفقًا لترتيب الإدراج. ولكن إذا كنت ترغب في استرجاع المستندات في ترتيب معكوس، يمكنك استخدامترتيبالسطر التالي في الكود المبين أدناه -

>db.cappedLogCollection.find().sort({$natural:-1})

هناك بعض النقاط المهمة الأخرى حول مجموعات الحد الأعلى -

  • لا يمكن حذف المستندات من مجموعة الحد الأعلى.

  • لا يوجد مؤشر افتراضي في مجموعة الحد الأعلى، حتى في حقل _id.

  • عند إدراج مستند جديد، لا تحتاج MongoDB إلى البحث عن مكان في القرص لتخزين المستند الجديد. يمكنها إدراج المستند الجديد 盲ة في نهاية المجموعة. مما يجعل عملية الإدراج في المجموعة سريعة بشكل كبير.

  • على سبيل المثال، عند قراءة المستندات، سيقوم MongoDB بتقديم المستندات بالترتيب نفسه الذي تم فيه تخزينها على القرص. مما يجعل عملية القراءة سريعة بشكل كبير.