إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
find يتم استخدام الأمر في Azure DocumentDB للاستعلام عن المستندات داخل مجموعة. هذا الأمر أساسي لعمليات استرداد البيانات ويمكن تخصيصه باستخدام عوامل التصفية والإسقاطات وخيارات الاستعلام لضبط النتائج.
إعراب
بناء الجملة find الأساسي للأمر هو:
db.collection.find(query, projection, options)
Parameters
| المعلمة | Description |
|---|---|
query |
مستند يحدد معايير استرداد المستندات |
projection |
(اختياري) مستند يحدد الحقول في المستندات المطابقة التي سيتم إرجاعها في مجموعة النتائج |
options |
(اختياري) مستند يحدد خيارات سلوك الاستعلام ونتائجه |
المثال (الأمثلة)
خذ بعين الاعتبار نموذج المستند هذا من مجموعة المتاجر في قاعدة بيانات StoreData.
{
"_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: استرداد جميع المستندات
يقوم الأمر find() بدون أي عوامل تصفية استعلام بإرجاع كافة المستندات في المجموعة.
db.stores.find()
مثال 2: استرداد المستندات باستخدام عوامل تصفية الاستعلام
استرداد المستندات باستخدام عامل تصفية على خاصية الاسم.
db.stores.find({"name": "Fourth Coffee | Stationery Haven - New Franco"})
مثال 3: استرداد المستندات باستخدام عوامل تصفية الاستعلام على الكائنات
استرداد المستندات باستخدام عوامل تصفية الاستعلام على حقلي lat وlon داخل كائن الموقع.
db.stores.find({"location.lat": 13.5236, "location.lon": -82.5707})
عندما لا يتم استخدام رمز النقطة (.) للإشارة إلى الحقول داخل كائن، يجب أن يتطابق عامل تصفية الاستعلام تماما مع الكائن بأكمله بما في ذلك ترتيب الحقول.
db.stores.find({"location": {"lat": 13.5236, "lon": -82.5707}})
مثال 4: استرداد المستندات باستخدام عوامل تصفية الاستعلام على الصفائف
استرداد المستندات من صفيف promotionEvents حيث يكون eventName هو "Grand Bargain Gala".
db.stores.find({"promotionEvents.eventName": "Grand Bargain Gala"})
استرداد المستندات من صفيف "الخصومات"، المتداخل ضمن صفيف promotionEvents حيث يكون categoryName هو "Area Rugs".
db.stores.find({"promotionEvents.discounts.categoryName": "Area Rugs"})
التوقعات
يحدد المستند الثاني في الأمر بحث قائمة الحقول المراد عرضها في الاستجابة.
تضمين حقل معين أو حقول متعددة في الاستجابة
تتضمن قيمة عدد صحيح غير صفري أو قيمة منطقية بقيمة true الحقل في الاستجابة.
db.stores.find({"name": "Fourth Coffee | Stationery Haven - New Franco"}, {"location": 1, "sales": 1})
db.stores.find({"name": "Fourth Coffee | Stationery Haven - New Franco"}, {"location": true, "sales": true})
db.stores.find({"name": "Fourth Coffee | Stationery Haven - New Franco"}, {"location": 1, "sales": true})
db.stores.find({"name": "Fourth Coffee | Stationery Haven - New Franco"}, {"location": 1, "sales": -5})
جميع الاستعلامات الأربعة مكافئة وتحدد تضمين حقلي "الموقع" و"المبيعات" في استجابة الخادم.
{
"_id": "b5c9f932-4efa-49fd-86ba-b35624d80d95",
"location": {
"lat": 13.5236,
"lon": -82.5707
},
"sales": {
"totalSales": 35346,
"salesByCategory": [
{
"categoryName": "Rulers",
"totalSales": 35346
}
]
}
}
استبعاد حقل معين أو حقول متعددة في الاستجابة
تستبعد قيمة عدد صحيح من صفر أو قيمة منطقية من false الحقل المحدد من استجابة الاستعلام.
db.stores.find({"name": "Fourth Coffee | Stationery Haven - New Franco"}, {"promotionEvents": 0, "location": 0, "sales": 0})
db.stores.find({"name": "Fourth Coffee | Stationery Haven - New Franco"}, {"promotionEvents": false, "location": false, "sales": false})
كلا الاستعلامين مكافئان ويعيدان الاستجابة التالية:
{
"_id": "b5c9f932-4efa-49fd-86ba-b35624d80d95",
"name": "Fourth Coffee | Stationery Haven - New Franco",
"staff": {
"totalStaff": {
"fullTime": 17,
"partTime": 5
}
}
}
إشعار
بشكل افتراضي، يتم تضمين الحقل _id في استجابة الخادم. لا يمكن أن يحتوي مستند الإسقاط على كل من عبارات التضمين والاستبعاد. ومع ذلك، فإن حقل _id هو الاستثناء الوحيد لهذه القاعدة ويمكن استبعاده مع قائمة الحقول المراد تضمينها والعكس صحيح.
عرض العنصر الأول في صفيف يطابق معايير عامل تصفية الاستعلام
يعرض الأمر "arrayFieldName".$ التكرار الأول فقط لعنصر في صفيف يطابق عوامل تصفية الاستعلام المحددة.
db.stores.find({"promotionEvents.eventName": "Grand Bargain Gala"}, {"promotionEvents.$": true})
تعرض إحدى المستندات التي تم إرجاعها العنصر الأول فقط في صفيف promotionEvents الذي يحتوي على اسم الحدث "غراند صفقة Gala" مع استبعاد جميع العناصر الأخرى في الصفيف.
{
"_id": "d7fe6fb9-57e8-471a-b8d2-714e3579a415",
"promotionEvents": [
{
"eventName": "Grand Bargain Gala",
"promotionalDates": {
"startDate": {
"Year": 2024,
"Month": 3,
"Day": 25
},
"endDate": {
"Year": 2024,
"Month": 4,
"Day": 1
}
},
"discounts": [
{
"categoryName": "Area Rugs",
"discountPercentage": 7
},
{
"categoryName": "Vinyl Flooring",
"discountPercentage": 12
}
]
}
]
}
عرض عناصر محددة في صفيف يتطابق مع معايير عامل تصفية الاستعلام
يعرض هذا الاستعلام الخاصية eventName وخاصية Year المتداخلة ضمن صفيف promotionEvents.
db.stores.find({"promotionEvents.eventName": "Grand Bargain Gala"}, {"promotionEvents.eventName": true, "promotionEvents.promotionalDates.startDate.Year": true})
يظهر أحد المستندات التي تم إرجاعها عناصر الصفيف المحددة المتوقعة في الاستجابة.
{
"_id": "d7fe6fb9-57e8-471a-b8d2-714e3579a415",
"promotionEvents": [
{
"eventName": "Grand Bargain Gala",
"promotionalDates": {
"startDate": {
"Year": 2024
}
}
},
{
"eventName": "Grand Bargain Bash",
"promotionalDates": {
"startDate": {
"Year": 2024
}
}
},
{
"eventName": "Epic Bargain Bash",
"promotionalDates": {
"startDate": {
"Year": 2024
}
}
}
]
}