Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
ŞUNLAR IÇIN GEÇERLIDIR:
MongoDB sanal çekirdeği
işleci $size
, bir dizi alanının belirtilen sayıda öğeye sahip olduğu belgeleri sorgulamak için kullanılır. Bu işleç, bir dizi alanının boyutuna göre belgeler bulmanız gerektiğinde (örneğin, bir listedeki bazı öğelere sahip belgeleri bulma) kullanışlıdır.
Sözdizimi
db.collection.find({ <field>: { $size: <number> } })
Parametreler
Açıklama | |
---|---|
field |
Diziyi içeren alan. |
number |
Dizinin sahip olması gereken öğe sayısı. |
Örnek
Şimdi veri kümesinden stores
alınan örnek json ile kullanımı anlayalım.
{
"_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
}
]},
"tag": [
'#ShopLocal',
'#FashionStore',
'#SeasonalSale',
'#FreeShipping',
'#MembershipDeals'
]
}
Örnek 1: Dizide belirli sayıda öğe içeren belgeleri bulma
Örnek, dizinin tam olarak 7 öğe içerdiği stores
koleksiyondaki sales.salesByCategory
belgeleri alır.
db.stores.find( { "sales.salesByCategory": { $size: 7 }}
,{"_id":1,"name":1,"sales.salesByCategory":1}
).limit(2)
Bu sorgu koleksiyondaki iki belgeyi yan tümcesine stores
göre limit
kısıtlanmış olarak döndürür.
{
"_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
}
]
}
}
İlgili içerik
- MongoDB'den MongoDB için Azure Cosmos DB'ye Geçiş seçeneklerini gözden geçirin (sanal çekirdek)
- MongoDB ile özellik uyumluluğu hakkında daha fazla bilgi edinin