Array (قائمة)

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

Array (قائمة)

يحمل Array قائمة مرتبة من أي قيم BSON (بما فيها المصفوفات والمستندات المتداخلة). المطابقة هي الانتماء: `{ tags: 'mongodb' }` يطابق المستندات التي تحتوي tags على القيمة. يفرض `$elemMatch` شروطًا متعددة على العنصر نفسه. فهرسة حقل مصفوفة تبني فهرسًا متعدد المفاتيح، موسّعًا كل عنصر.

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

📝 الصيغة

{ tags: ["mongodb", "nosql"] }
db.posts.find({ tags: "mongodb" })
db.posts.find({ ratings: { $elemMatch: { score: { $gte: 4 }, user: "alice" } } })

القيمة المرجعة:قيمة المصفوفة نفسها؛ والاستعلامات تُرجع المستندات المطابقة

▶ مثال

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

// Array: العضوية و $elemMatch
use shop
db.posts.insertOne({ tags: ['mongodb', 'tutorial'], ratings: [{ score: 5, user: 'alice' }] })
db.posts.find({ tags: 'mongodb' })

المخرجات:

{ _id: ObjectId('...'), tags: ['mongodb', 'tutorial'], ratings: [{ score: 5, user: 'alice' }] }

📌 ملاحظات

📚 دروس ذات صلة

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

Qهل تتطلب مطابقة المصفوفة مساواة تامة؟
Aالانتماء. { tags: 'a' } يطابق المستندات التي تحتوي tags على 'a'، وليس مساواة المصفوفة كاملة.
Qكيف أطابق عنصرًا واحدًا بعدة شروط؟
Aاستخدم $elemMatch: { score: ..., user: ... } لتصيب كل الشروط نفس العنصر.
Qهل يمكن فهرسة المصفوفات؟
Aنعم — يُبنى فهرس متعدد المفاتيح، مع فهرسة كل عنصر على حدة.
Web-Tutorial.com

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

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

100%