$out (الإخراج)
آخر تحديث: 2026-10-09
$out (الإخراج)
يكتب $out نتائج خط الأنابيب إلى مجموعة مسماة، مستبدلًا كل محتواها السابق؛ تُنشأ الهدف تلقائيًا إذا كانت مفقودة. يجب أن يكون المرحلة الأخيرة ولا يمكن دمجه مع $merge. يأخذ قفلًا على مستوى المجموعة ويستبدل البيانات بالكامل، لذا يناسب التقارير غير المتصلة وجداول التخزين المؤقت. أضاف $out الكتابة عبر قواعد البيانات في MongoDB 4.4.
| الفئة | المتقدم والتشخيص |
|---|---|
| إصدار MongoDB | 1.0+ |
| لغة المثال | mongosh (الطرفية) |
📝 الصيغة
{ $out: "<collection>" }
⚙️ المعلمات
| المجموعة الهدف | اسم المجموعة المراد الكتابة فيها. |
|---|
القيمة المرجعة:لا تستمر أي مستندات؛ تُكتب النتائج في المجموعة الهدف
▶ مثال
نفّذ الأوامر التالية في mongosh المحلي لديك (يتطلب تشغيل mongod):
// $out: تصدير طلبات 2024 إلى مجموعة جديدة
db.orders.aggregate([
{ $match: { year: 2024 } },
{ $out: 'orders_2024' }
])
المخرجات:
// تُستبدل orders_2024 بالكامل
📌 ملاحظات
- يجب أن يكون المرحلة الأخيرة من خط الأنابيب
- تُستبدل المجموعة الهدف بالكامل، ولا يُلحق بها
- قفل على مستوى المجموعة أثناء الكتابة يمنع العمليات المتزامنة على مجموعات البيانات الكبيرة
🏷️ وسوم ذات صلة
💡 حالات ذات صلة
مزيد من الحالات العملية قريبًا.
📚 دروس ذات صلة
❓ الأسئلة الشائعة
Qهل يستبدل $out مجموعة موجودة؟
Aنعم، تُستبدل المجموعة بأكملها؛ وعند الفشل يُحتفظ بالأصل.
Qهل يجب استخدام $out أم $merge؟
Aاستخدم $out للاستبدال الكامل؛ و$merge للتحديثات التدريجية والدمج حسب المفتاح.
Qهل يمكن لـ $out الكتابة إلى قاعدة بيانات أخرى؟
Aمنذ MongoDB 4.4، اكتبها كـ 'otherdb.coll'.