$addToSet (مُراكم المصفوفة الفريدة)

آخر تحديث: 2026-10-09

$addToSet (مُراكم المصفوفة الفريدة)

$addToSet مُراكم يضيف نتيجة تعبير كل مستند إلى مصفوفة أثناء $group، مع إزالة التكرار تلقائيًا — تظهر القيم المكررة مرة واحدة. مثل $push لكنه يضمن التفرد. يناسب الوسوم وقوائم العملاء واحتياجات إزالة التكرار الأخرى. ترتيب العناصر غير مضمون.

الفئةالتراكميات
إصدار MongoDB1.0+
لغة المثالmongosh (الطرفية)

📝 الصيغة

{ $group: { _id: <key>, tags: { $addToSet: "$field" } } }

القيمة المرجعة:مصفوفة بدون تكرار لنتائج التعبير

▶ مثال

نفّذ الأوامر التالية في mongosh المحلي لديك (يتطلب تشغيل mongod):

// $addToSet: الأصناف المميزة لكل عميل
db.orders.aggregate([
  { $group: { _id: '$cust_id', items: { $addToSet: '$item' } } }
])

المخرجات:

{ "_id": "A123", "items": ["Pen", "Book"] }

📌 ملاحظات

📚 دروس ذات صلة

❓ الأسئلة الشائعة

Qما الفرق بين $addToSet و $push؟
Aيُبقي $push التكرارات؛ بينما يزيلها $addToSet.
Qهل الترتيب مضمون؟
Aلا، ترتيب العناصر غير مضمون؛ رتب النتيجة بنفسك.
Qهل يمكنه إزالة تكرار عناصر المصفوفة؟
Aليس مباشرة — يقارن قيم المصفوفة كاملة؛ فكك بـ $unwind أولًا للتسطيح.
Web-Tutorial.com

فريق Web-Tutorial التقني

منصة دروس برمجية يديرها عدة مطورين. كل درس يتم كتابته ومراجعته بواسطة مطورين متخصصين في المجال. نعمل على ضمان دقة وموثوقية المحتوى — إذا لاحظت أي مشكلة، فيرجى إخبارنا.

100%