الإسقاط (Projection) — اختيار الحقول
db.users.find({}, { name: 1, age: 1 }) // name و age فقط (+ _id)
db.users.find({}, { name: 1, _id: 0 }) // استبعاد _id
db.users.find({}, { password: 0 }) // كل شيء عدا password
الترتيب (sort)
db.users.find().sort({ age: 1 }) // تصاعدي
db.users.find().sort({ age: -1 }) // تنازلي
db.users.find().sort({ age: -1, name: 1 }) // متعدّد
التحديد والتخطّي
db.users.find().limit(5) // أوّل 5
db.users.find().skip(10).limit(5) // الصفحة الثالثة (10-14)
الترقيم (Pagination)
const page = 2, size = 10;
db.users.find()
.sort({ _id: 1 })
.skip((page - 1) * size)
.limit(size)
💡 لصفحات كبيرة، الترقيم بالمؤشّر (cursor) باستخدام
_idأكفأ منskip.
🎯 التالي: الفهارس (Indexes).