إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
$size يتم استخدام عامل التشغيل للاستعلام عن المستندات حيث يحتوي حقل الصفيف على عدد محدد من العناصر. يكون عامل التشغيل هذا مفيدا عندما تحتاج إلى البحث عن مستندات استنادا إلى حجم حقل صفيف، مثل البحث عن مستندات تحتوي على بعض العناصر في قائمة.
إعراب
db.collection.find({ <field>: { $size: <number> } })
Parameters
| المعلمة | Description |
|---|---|
field |
الحقل الذي يحتوي على الصفيف. |
number |
عدد العناصر التي يجب أن يحتوي عليها الصفيف. |
أمثلة
ضع في اعتبارك نموذج المستند هذا من مجموعة المتاجر.
{
"_id": "0fcc0bf0-ed18-4ab8-b558-9848e18058f4",
"name": "First Up Consultants | Beverage Shop - Satterfieldmouth",
"location": {
"lat": -89.2384,
"lon": -46.4012
},
"staff": {
"totalStaff": {
"fullTime": 8,
"partTime": 20
}
},
"sales": {
"totalSales": 75670,
"salesByCategory": [
{
"categoryName": "Wine Accessories",
"totalSales": 34440
},
{
"categoryName": "Bitters",
"totalSales": 39496
},
{
"categoryName": "Rum",
"totalSales": 1734
}
]
},
"promotionEvents": [
{
"eventName": "Unbeatable Bargain Bash",
"promotionalDates": {
"startDate": {
"Year": 2024,
"Month": 6,
"Day": 23
},
"endDate": {
"Year": 2024,
"Month": 7,
"Day": 2
}
},
"discounts": [
{
"categoryName": "Whiskey",
"discountPercentage": 7
},
{
"categoryName": "Bitters",
"discountPercentage": 15
},
{
"categoryName": "Brandy",
"discountPercentage": 8
},
{
"categoryName": "Sports Drinks",
"discountPercentage": 22
},
{
"categoryName": "Vodka",
"discountPercentage": 19
}
]
},
{
"eventName": "Steal of a Deal Days",
"promotionalDates": {
"startDate": {
"Year": 2024,
"Month": 9,
"Day": 21
},
"endDate": {
"Year": 2024,
"Month": 9,
"Day": 29
}
},
"discounts": [
{
"categoryName": "Organic Wine",
"discountPercentage": 19
},
{
"categoryName": "White Wine",
"discountPercentage": 20
},
{
"categoryName": "Sparkling Wine",
"discountPercentage": 19
},
{
"categoryName": "Whiskey",
"discountPercentage": 17
},
{
"categoryName": "Vodka",
"discountPercentage": 23
}
]
}
]
}
مثال 1: البحث عن مستندات ذات عدد محدد من العناصر في صفيف
يسترد هذا الاستعلام المستندات من stores المجموعة حيث sales.salesByCategory يحتوي الصفيف على سبعة عناصر بالضبط.
db.stores.find({
"sales.salesByCategory": {
$size: 7
}
}, {
_id: 1,
name: 1,
"sales.salesByCategory": 1
}).limit(2)
يقوم هذا الاستعلام بإرجاع النتائج التالية:
[
{
"_id": "7ed4b356-1290-433e-bd96-bf95f817eaaa",
"name": "Wide World Importers",
"sales": {
"salesByCategory": [
{
"categoryName": "Ultrabooks",
"totalSales": 31304
},
{
"categoryName": "Laptop Accessories",
"totalSales": 10044
},
{
"categoryName": "Laptops",
"totalSales": 48851
},
{
"categoryName": "Refill Kits",
"totalSales": 9604
},
{
"categoryName": "Prepaid Phones",
"totalSales": 28600
},
{
"categoryName": "Android Phones",
"totalSales": 4580
},
{
"categoryName": "Photo Printers",
"totalSales": 35234
}
]
}
},
{
"_id": "988d2dd1-2faa-4072-b420-b91b95cbfd60",
"name": "Lakeshore Retail",
"sales": {
"salesByCategory": [
{
"categoryName": "Towel Racks",
"totalSales": 13237
},
{
"categoryName": "Washcloths",
"totalSales": 44315
},
{
"categoryName": "Face Towels",
"totalSales": 42095
},
{
"categoryName": "Toothbrush Holders",
"totalSales": 47912
},
{
"categoryName": "Hybrid Mattresses",
"totalSales": 48660
},
{
"categoryName": "Napkins",
"totalSales": 31439
},
{
"categoryName": "Pillow Cases",
"totalSales": 38833
}
]
}
}
]
محتوى ذو صلة
- راجع خيارات الترحيل من MongoDB إلى Azure DocumentDB.
- اقرأ المزيد حول توافق الميزات مع MongoDB.