tailable() (مؤشر ذيل)

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

tailable() (مؤشر ذيل)

تعلّم tailable() مؤشرًا بأنه مؤشر ذيل (tailable)، مثل `db.logs.find().tailable()`. بدلًا من الإغلاق عند نفاد البيانات، يظل مؤشر الذيل بانتظار مستندات جديدة — ويُستخدم لتعقّب السجلات ومراقبة عمليات الإدراج قبل وجود تدفقات التغييرات. يتطلب مجموعة محدودة (capped)؛ وفي مجموعات النسخ المتماثلة يقترن جيدًا بخيار awaitData.

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

📝 الصيغة

db.<collection>.find(<filter>).tailable({ awaitData: <bool> })

⚙️ المعلمات

awaitDataاختياري. ‏true ينتظر بيانات جديدة بدلًا من الإرجاع الفوري.

القيمة المرجعة:المؤشر المعلَّم كـ tailable (قابل للتسلسل).

▶ مثال

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

// tailable: مواصلة قراءة إدخالات السجل الجديدة
const cursor = db.logs.find()
  .tailable({ awaitData: true })
while (cursor.hasNext()) {
  print(cursor.next().msg)
}

المخرجات:

login ok
order created
payment received

📌 ملاحظات

مزيد من الحالات العملية قريبًا.

📚 دروس ذات صلة

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

Qلأي غرض تُستخدم مؤشرات الذيل؟
Aتواصل قراءة بيانات جديدة من المجموعات المحدودة — تعقّب سجلات لحظي وتدفقات مراقبة — دون الإغلاق عند النهاية.
Qما قيود tailable؟
Aالمجموعات المحدودة فقط؛ المشاريع الجديدة يجب أن تستخدم تدفقات التغييرات watch()، وهي أغنى وتعمل على المجموعات العادية.
Qكيف تختلف tailable عن watch؟
Aتستقصي tailable() بيانات جديدة على المجموعات المحدودة؛ بينما تستخدم watch() تدفق تغييرات سجل العمليات، وتدعم المجموعات العادية وأنواع أحداث أكثر.
Web-Tutorial.com

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

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

100%