$skip (التخطي)
آخر تحديث: 2026-10-09
$skip (التخطي)
يسقط $skip أول N مستندات بترتيب خط الأنابيب الحالي ويمرر الباقي دون تغيير. يُقرن عادةً بـ $limit للترقيم بالإزاحة. التخطي ليس مجانيًا — المستندات المتخطاة ما زالت تُقرأ وتُتجاهل. لمجموعات البيانات الكبيرة، فضّل استعلامات النطاق على مفتاح الفرز على الترقيم العميق.
| الفئة | المراحل الأساسية |
|---|---|
| إصدار MongoDB | 1.0+ |
| لغة المثال | mongosh (الطرفية) |
📝 الصيغة
{ $skip: <positive integer> }
⚙️ المعلمات
| عدد التخطي | عدد المستندات المراد إسقاطها؛ يجب أن يكون عددًا صحيحًا غير سالب. |
|---|
القيمة المرجعة:تدفق مستندات بعد إسقاط أول N من المستندات
▶ مثال
نفّذ الأوامر التالية في mongosh المحلي لديك (يتطلب تشغيل mongod):
// $skip: الصفحة 2، 10 لكل صفحة
db.articles.aggregate([
{ $sort: { date: -1 } },
{ $skip: 10 },
{ $limit: 10 }
])
المخرجات:
// المقالات 11-20 حسب التاريخ تنازليًا
📌 ملاحظات
- $skip لا يغيّر ترتيب المستندات
- الإزاحات الكبيرة بطيئة؛ مناسبة لمجموعات البيانات الصغيرة
- للترقيم العميق، انتقل إلى استعلام $match بالنطاق على مفتاح الفرز
🏷️ وسوم ذات صلة
💡 حالات ذات صلة
مقدمة إلى مسارات التجميع: طريقة `aggregate` والمرحلة الأساسية
$facet + $bucket + البحث النصي/الجغرافي المكاني
📚 دروس ذات صلة
❓ الأسئلة الشائعة
Qهل يستخدم $skip فهرسًا؟
Aليس مباشرة. المستندات المتخطاة ما زالت تُقرأ وتُرمى.
Qهل هناك مشاكل أداء مع ترقيم $skip؟
Aنعم. الصفحات الأعمق تتخطى مستندات أكثر؛ استخدم استعلامات النطاق على مفتاح الفرز لمجموعات البيانات الكبيرة.
Qهل يمكن لـ $skip أخذ 0؟
Aنعم، 0 لا يتخطى شيئًا — بلا تأثير فعليًا.