مقدمة الفصل
في هذا الفصل، سنقدم عوامل تطابق حقول المصفوفة في مستندات 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، فإن المستند يتم تحقيقه.