مقدمة الفصل

في هذا الفصل، سنقدم عوامل تطابق حقول المصفوفة في مستندات JSON لـ MongoDB.

العوامل الاستعلامية لمصفوفة التي تدعمها MongoDB

العامل الوصف
$all يطابق قيمة المصفوفة بأكملها في شرط الاستعلام
$elemMatch بالنسبة إلى حقول المصفوفة، إذا كانت أي قيمة تطابق جميع الشروط المحددة بواسطة $elemMatch، فإن الشرط يتم تحقيقه
$size يطابق حجم المصفوفة

$all

{ tags: { $all: [ "ssl" , "security" ] } }

مكافئ ل

{ $and: [ { tags: "ssl" }, { tags: "security" } ] }

حقل tags هو قيمة مصفوفة، وتحتوي المصفوفة tags في نفس الوقت على القيم ssl و security.

$elemMatch

بيانات الاختبار

بيانات مجموعة scores هي كما يلي:

{ _id: 1, results: [ 82, 85, 88 ] }
{ _id: 2, results: [ 75, 88, 89 ] }

مثال:

db.scores.find(
   { results: { $elemMatch: { $gte: 80, $lt: 85 } } }
)

البيانات المُعادة:

{ "_id" : 1, "results" : [ 82, 85, 88 ] }

الشرح:

  • إذا كانت أي قيمة في مصفوفة results أكبر من أو تساوي 80 وأقل من 85، فإن المستند يتم تحقيقه.

$size

يطابق حجم المصفوفة

db.collection.find( { field: { $size: 2 } } );

الشرح:

  • حقل field هو قيمة مصفوفة، وإذا كان حجم المصفوفة يساوي 2، فإن المستند يتم تحقيقه.