$push (مُراكم تجميع المصفوفة)
آخر تحديث: 2026-10-09
$push (مُراكم تجميع المصفوفة)
$push مُراكم يلحق نتيجة تعبير كل مستند بمصفوفة أثناء $group، بترتيب الإدخال (غير مضمون الاستقرار عادة). يجمع تفاصيل المجموعة في مستند واحد. رتب بـ $sort أولًا عندما تحتاج ترتيبًا مستقرًا.
| الفئة | التراكميات |
|---|---|
| إصدار MongoDB | 1.0+ |
| لغة المثال | mongosh (الطرفية) |
📝 الصيغة
{ $group: { _id: <key>, items: { $push: "$field" } } }
القيمة المرجعة:مصفوفة بكل نتائج التعبير في المجموعة
▶ مثال
نفّذ الأوامر التالية في mongosh المحلي لديك (يتطلب تشغيل mongod):
// $push: تجميع الأصناف لكل عميل
db.orders.aggregate([
{ $group: { _id: '$cust_id', items: { $push: '$item' } } }
])
المخرجات:
{ "_id": "A123", "items": ["Pen", "Book"] }
📌 ملاحظات
- يتبع الترتيب ترتيب الإدخال وغير مضمون الاستقرار
- $sort سابق يجعل الترتيب حتميًا
- اقص بـ $slice؛ وأزل التكرار بـ $addToSet
🏷️ وسوم ذات صلة
💡 حالات ذات صلة
مقدمة إلى مسارات التجميع: طريقة `aggregate` والمرحلة الأساسية
$facet + $bucket + البحث النصي/الجغرافي المكاني
$lookup والارتباطات مع مجموعات متعددة
📚 دروس ذات صلة
❓ الأسئلة الشائعة
Qهل ترتيب مخرجات $push مستقر؟
Aليس صارمًا؛ رتب بـ $sort مبكرًا في خط الأنابيب عندما يهم الترتيب.
Qما الفرق بين $push و $addToSet؟
Aيُبقي $push التكرارات؛ بينما يزيلها $addToSet.
Qكيف أجمع أول عناصر قليلة فقط؟
Aاتبع $push بـ $slice، أو $sort مع $limit قبل $group.