$pop (إزالة الأول أو الأخير)
آخر تحديث: 2026-10-09
$pop (إزالة الأول أو الأخير)
يزيل $pop العنصر الأول (-1) أو الأخير (1) من مصفوفة. فالعبارة `{ $pop: { queue: -1 } }` تزيل من الأمام؛ و`{ $pop: { queue: 1 } }` من النهاية. المصفوفات الفارغة لا تتأثر. يزيل حسب الموضع فقط — للإزالة حسب القيمة استخدم $pull. مفيد لقوائم الانتظار والأكوام وقوائم الرسائل الأخيرة.
| الفئة | تحديث المصفوفة |
|---|---|
| إصدار MongoDB | 1.0+ |
| لغة المثال | mongosh (الطرفية) |
📝 الصيغة
{ $pop: { <array field>: <-1 or 1> } }
⚙️ المعلمات
| حقل مصفوفة | حقل المصفوفة المراد إخراج عنصر منه. |
|---|---|
| الاتجاه | -1 يزيل العنصر الأول، و1 يزيل الأخير. |
القيمة المرجعة:نتيجة التحديث
▶ مثال
نفّذ الأوامر التالية في mongosh المحلي لديك (يتطلب تشغيل mongod):
// $pop: إزالة مقدمة قائمة الانتظار
// -1 من الأمام، 1 من الخلف
db.tasks.updateOne(
{ _id: 1 },
{ $pop: { queue: -1 } }
)
// إزالة من الخلف (فقع الكومة)
db.tasks.updateOne(
{ _id: 1 },
{ $pop: { queue: 1 } }
)
المخرجات:
// تفقد queue عنصرًا واحدًا، من الأمام أو من الخلف
📌 ملاحظات
- يقبل فقط -1 أو 1 كاتجاه
- للإزالة حسب القيمة استخدم $pull، وليس $pop
- لا تأثير على المصفوفات الفارغة
🏷️ وسوم ذات صلة
💡 حالات ذات صلة
📚 دروس ذات صلة
❓ الأسئلة الشائعة
Qهل يمكن لـ $pop إزالة قيمة محددة؟
Aلا، يزيل حسب الموضع فقط؛ استخدم $pull للإزالة حسب القيمة.
Qهل يقبل $pop -1 أو 1 فقط؟
Aنعم، أي قيم أخرى غير صالحة.
Qهل يرمي $pop خطأ على مصفوفة فارغة؟
Aلا، لا تأثير له على المصفوفات الفارغة.