skip() (تخطي مستندات)
آخر تحديث: 2026-10-09
skip() (تخطي مستندات)
تتجاهل skip() أول N مستندات من مؤشر: `db.users.find().sort({ age: 1 }).skip(10)`. تتآزر مع limit() للترقيم الصفحي — skip() هي الإزاحة وlimit() حجم الصفحة. انتبه إلى أن المستندات المتخطاة يجب اجتيازها على أي حال، لذا الأوفستات الكبيرة تبطئ؛ فضّل الترقيم بالمفاتيح (keyset) على حقل مفهرس لمجموعات البيانات الكبيرة.
| الفئة | المؤشر |
|---|---|
| إصدار MongoDB | 1.0+ |
| لغة المثال | mongosh (الطرفية) |
📝 الصيغة
db.<collection>.find(<filter>).skip(<count>)
⚙️ المعلمات
| عدد | عدد المستندات المراد تخطيها. |
|---|
القيمة المرجعة:المؤشر بعد تخطي N من المستندات (قابل للتسلسل).
▶ مثال
نفّذ الأوامر التالية في mongosh المحلي لديك (يتطلب تشغيل mongod):
// skip: جلب المستندات 11-20 (الصفحة 2)
const page2 = db.users.find().sort({ _id: 1 })
.skip(10).limit(10).toArray()
page2.length
المخرجات:
10
📌 ملاحظات
- الأوفستات الأكبر تبطئ skip — المستندات المهملة ما زالت تُفحص
- دون sort تكون نتائج skip غير مستقرة؛ اقرنها بـ sort()
- لمجموعات البيانات الكبيرة، فضّل الترقيم بالمفاتيح على الفهرس
🏷️ وسوم ذات صلة
💡 حالات ذات صلة
مزيد من الحالات العملية قريبًا.
📚 دروس ذات صلة
❓ الأسئلة الشائعة
Qلماذا يبطئ الترقيم المبني على skip مع العمق؟
Aتسير skip(N) وتتجاهل N مستندات أولًا؛ الأوفستات الأكبر تفحص أكثر. للصفحات العميقة انتقل إلى الترقيم بالمفاتيح.
Qماذا يحدث عند استخدام skip دون sort؟
Aالترتيب غير معرّف، فقد تتكرر الصفحات أو تُفوَّت مستندات — رتِّب دائمًا بـ sort() قبل skip().
Qماذا تفعل skip(0)؟
Askip(0) لا تتخطى شيئًا، أي ما يعادل استخدام المؤشر كما هو.