مقدمه فصل
در این فصل، اپراتورهای مطابقت فیلد آرایهای در اسناد 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 باشد، اسناد با موفقیت مطابقت مییابند.