![]() |
كيف تقسم البيانات إلى صفحات في Node.js بسهولة؟ |
شرح عمل Pagination في Node.js للبيانات بشكل مبسط
يُعرف Pagination بتقنية برمجية تُستخدم لعرض كميات كبيرة من البيانات على صفحات متعددة، مما يُسهل على المستخدم تصفحها وفهمها , يمكن تقسيم رسائل البريد الإلكتروني للمستخدم إلى صفحات، حيث تُعرض 5 رسائل كحد أقصى في كل صفحة , يمكن عرض بيانات كل موظف في صفحة خاصة، مما يُسهل على المستخدم الوصول إلى المعلومات الخاصة بكل موظف.
عند التعامل مع كميات كبيرة من البيانات في تطبيقات الويب، من الضروري تقسيم البيانات إلى صفحات (Pagination) لتحسين الأداء وتجربة المستخدم. في هذا المقال، سنشرح كيفية تنفيذ Pagination في Node.js بشكل مبسط وسهل الفهم.
ما هو Pagination؟
Pagination هو عملية تقسيم البيانات إلى صفحات صغيرة لعرضها بشكل تدريجي بدلاً من تحميل جميع البيانات مرة واحدة. هذا الأسلوب يُحسن أداء التطبيق ويجعل تجربة المستخدم أكثر سلاسة (يُعد Pagination تقنية أساسية لعرض البيانات على صفحات متعددة)
لماذا نستخدم Pagination؟
- تحسين الأداء: تقليل كمية البيانات التي يتم جلبها من قاعدة البيانات.
- تحسين تجربة المستخدم: عرض البيانات بشكل منظم وسهل التصفح.
- تقليل استخدام الذاكرة: تجنب تحميل كميات كبيرة من البيانات في الذاكرة.
فوائد عمل Pagination للبيانات
- تحسين تجربة المستخدم:عرض البيانات على صفحات متعددة يسهل على المستخدمين تصفحها. يقلل Pagination من وقت تحميل الصفحة، مما يجعل تجربة المستخدم أكثر سلاسة.
- تحسين الأداء:يقلل Pagination من عبء العمل على الخادم عن طريق تحميل البيانات على دفعات.
- قابلية التطوير: يجعل Pagination من السهل إضافة المزيد من البيانات إلى واجهة المستخدم دون الحاجة إلى إعادة تصميمها.
استخدام mongoose
سوف نقوم بعمل متغير من نوع options ونقوم بداخله بتنفيذ العملية وارساله في عملية طلب البيانات من السيرفر بشكل مباشر
const mongoose = require('mongoose');
const schema = new mongoose.Schema({
name: String,
age: Number,
});
const Model = mongoose.model('Model', schema);
app.get('/products', (req, res) => {
const { page, perPage } = req.query;
const options = {
limit: perPage,
skip: (page - 1) * perPage,
};
Model.find({}, options, (err, docs) => {
if (err) {
return res.status(500).send(err);
}
res.json(docs);
});
});
استخدام middleware
const express = require('express');
const app = express();
app.use((req, res, next) => {
const { page, perPage } = req.query;
req.pagination = {
page: page || 1,
perPage: perPage || 10,
};
next();
});
app.get('/products', (req, res) => {
const { page, perPage } = req.pagination;
const options = {
limit: perPage,
skip: (page - 1) * perPage,
};
Model.find({}, options, (err, docs) => {
if (err) {
return res.status(500).send(err);
}
res.json(docs);
});
});
Request
const query = req.query;
const limits = query.limits || 10;
const page = query.page || 1;
const skip = (page-1) * limits;
const users = await User.find().limit(limits).skip(skip)
https://api.example.com/users?page=1&limits=5
أمثلة على استخدام Pagination في مختلف التخصصات
- يمكن استخدام Pagination لعرض المنتجات في تطبيق الجوال على صفحات متعددة.
- يمكن استخدام Pagination لعرض المستخدمين على منصة البرمجة على صفحات متعددة.
- يمكن استخدام Pagination لعرض البيانات في ملفات JSON أو CSV على صفحات متعددة.
- يمكن استخدام Pagination لتعليم الطلاب كيفية استخدام وظائف JavaScript لعرض البيانات على صفحات متعددة.
Pagination هو أسلوب فعال لإدارة وعرض كميات كبيرة من البيانات في تطبيقات الويب. من خلال تنفيذ Pagination في Node.js، يمكنك تحسين أداء التطبيق وتجربة المستخدم. باستخدام الأدوات البسيطة مثل Express و Mongoose، يمكنك بسهولة تطبيق Pagination وجعل تطبيقك أكثر كفاءة.