إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
$each يتم استخدام عامل التشغيل داخل عملية $addToSet أو $push لإضافة عناصر متعددة إلى حقل صفيف في عملية تحديث واحدة. يكون عامل التشغيل هذا مفيدا عندما تحتاج إلى إدراج عناصر متعددة في صفيف دون الحاجة إلى تنفيذ عمليات تحديث متعددة.
$each يضمن عامل التشغيل إضافة كل عنصر في الصفيف المحدد إلى الصفيف الهدف.
إعراب
{
$push: {
<field>: {
$each: [ <value1>, <value2>],
<modifier1>: <value1>,
<modifier2>: <value2>
}
}
}
Parameters
| المعلمة | Description |
|---|---|
<field> |
الحقل المطلوب تحديثه. |
$each |
صفيف من القيم التي ستتم إضافتها إلى حقل الصفيف. |
<modifier> |
المعدلات الاختيارية مثل $sortو $sliceو $position للتحكم في $push سلوك العملية. |
أمثلة
ضع في اعتبارك نموذج المستند هذا من مجموعة المتاجر.
{
"_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: إضافة عناصر متعددة إلى صفيف
يضيف هذا الاستعلام أحداث ترقية جديدة متعددة إلى promotionEvents الصفيف.
db.stores.updateOne({
name: "Lenore's New DJ Equipment Store"
}, {
$push: {
promotionEvents: {
$each: [{
eventName: "Grand Savings",
promotionalDates: {
startDate: "2024-08-01",
endDate: "2024-08-31"
},
discounts: [{
categoryName: "DJ Headphones",
discountPercentage: 5
}]
},
{
eventName: "Big Bargain",
promotionalDates: {
startDate: "2024-11-25",
endDate: "2024-11-30"
},
discounts: [{
categoryName: "DJ Headphones",
discountPercentage: 20
}]
}
]
}
}
})
يقوم هذا الاستعلام بإرجاع النتيجة التالية.
[
{
"acknowledged": true,
"insertedId": null,
"matchedCount": "0",
"modifiedCount": "0",
"upsertedCount": 0
}
]
محتوى ذو صلة
- راجع خيارات الترحيل من MongoDB إلى Azure DocumentDB.
- اقرأ المزيد حول توافق الميزات مع MongoDB.