$size (طول المصفوفة)

آخر تحديث: 2026-10-09

$size (طول المصفوفة)

يطابق $size المستندات التي يكون طول حقل مصفوفتها مساويًا للطول المعطى بالضبط. فالعبارة `{ tags: { $size: 3 } }` تطابق المستندات التي تحتوي 3 وسوم بالضبط. في الاستعلامات يقبل $size قيمة دقيقة فقط — لا يمكنك كتابة { $size: { $gt: 3 } }؛ للشروط النطاقية استخدم $expr مع عامل $size في التجميع بدلًا من ذلك.

الفئةالمصفوفة
إصدار MongoDB1.0+
لغة المثالmongosh (الطرفية)

📝 الصيغة

{ <field>: { $size: <length> } }

⚙️ المعلمات

حقلحقل المصفوفة المراد مطابقته.
الطولالعدد الدقيق لعناصر المصفوفة.

القيمة المرجعة:مؤشر المستندات المطابقة

▶ مثال

نفّذ الأوامر التالية في mongosh المحلي لديك (يتطلب تشغيل mongod):

// $size: المقالات التي تحتوي 3 وسوم بالضبط
db.articles.find({ tags: { $size: 3 } })

// 3 وسوم على الأقل (يتطلب $expr)
db.articles.find({ $expr: { $gte: [{ $size: '$tags' }, 3] } })

المخرجات:

// يُرجع المقالات التي تحتوي 3 وسوم بالضبط؛ الاستعلام الثاني يُرجع 3 على الأقل

📌 ملاحظات

📚 دروس ذات صلة

❓ الأسئلة الشائعة

Qهل يمكن لـ $size الاستعلام عن طول أكبر من قيمة؟
Aليس مباشرة. استخدم $expr: { $gt: [{ $size: '$tags' }, 3] }.
Qهل يطابق $size المستندات التي يفتقد حقلها؟
Aلا، يجب أن يوجد الحقل ويكون من نوع مصفوفة.
Qهل يمكن لـ $size: 0 مطابقة المصفوفات الفارغة؟
Aنعم، { tags: { $size: 0 } } يطابق المصفوفات الفارغة؛ الحقول المفقودة ما زالت لا تُطابق.
Web-Tutorial.com

فريق Web-Tutorial التقني

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

100%