Rayden Storm نشر 13 يونيو 2021 أرسل تقرير نشر 13 يونيو 2021 لدي endpoint لجلب بيانات وهذه ال controller الخاصة بي exports.list = async (req, res, next) => { try { const tags = await Tag.find({}); res.status(200).json(tags); } catch (error) { next(error); } }; اعرف ان find تجلب بيانات كثيرة لكن تبقى لا تجلب كل البيانات واريد انشاء pagination في هذه ال endpoint وأبحث عن طريقة بسيطة وسهلة لتحقيق ذلك 1 اقتباس
0 Wael Aljamal نشر 13 يونيو 2021 أرسل تقرير نشر 13 يونيو 2021 عند عمل استعلام، يمكننا تخطي عدد من الصفحات باستخدام الدالة skip ويمكن أيضا تحديد عدد العناصر للصفحة باستخادم limit: مثال لجلب عدد من الطلاب وتقسيمهم في صفحات: function printStudents(pageNumber, nPerPage) { print( "Page: " + pageNumber ); db.students.find() .sort( { _id: 1 } ) .skip( pageNumber > 0 ? ( ( pageNumber - 1 ) * nPerPage ) : 0 ) .limit( nPerPage ) .forEach( student => { print( student.name ); } ); } pageNumber لعرض رقم الصفحة المطلوبة nPerPage عدد العناصر للصفحة الواحدة تم ترتيب الطلاب حسب المعرف الخاص بهم id. العلاقة الرياضية تحدد عدد السجلات التي سيتم تخطيها، رقم الصفحة مضروبا بعدد العناصر لصفحة واحدة اقتباس
السؤال
Rayden Storm
لدي endpoint لجلب بيانات وهذه ال controller الخاصة بي
اعرف ان find تجلب بيانات كثيرة لكن تبقى لا تجلب كل البيانات واريد انشاء pagination في هذه ال endpoint وأبحث عن طريقة بسيطة وسهلة لتحقيق ذلك
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.