مقدمه فصل

در این فصل، اپراتورهای مطابقت فیلد آرایه‌ای در اسناد JSON مونگو دی‌بی را معرفی می‌کنیم.

اپراتورهای پرس و جوی آرایه که توسط مونگو دی‌بی پشتیبانی می‌شوند

اپراتور توضیحات
$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 باشد، اسناد با موفقیت مطابقت می‌یابند.