Feathers: هل هناك طريقة لتجاوز ترقيم الصفحات من سلسلة استعلام URL أو عميل الريش؟

تم إنشاؤها على ١٧ يناير ٢٠١٧  ·  3تعليقات  ·  مصدر: feathersjs/feathers

في بعض الحالات أحتاج إلى إعادة جميع البيانات دون ترقيم الصفحات ،
بناءً على المشكلة رقم 219 يمكنني فعل شيء كهذا

app.service('orders').find({paginate: false})

ولكنه يعمل فقط داخليًا من جانب الخادم ، وليس من جانب العميل ،
قد يكون من الجيد إذا كان يمكن أن يعمل من العميل أو من سلسلة استعلام مثل هذا

http://api.com/orders?$limit=-1
عندما service.paginate.max = خطأ

أو

http://api.com/orders?$paginate=false

التعليق الأكثر فائدة

يتم تعطيل هذا افتراضيًا لأسباب وجيهة (عندما يكون لديك عدة آلاف من السجلات التي تؤدي إلى تعطيل ترقيم الصفحات يمكن أن يؤدي إلى إسقاط كل من الخادم والعميل) ولكن من الممكن تعيين معلمة الاستعلام لتعطيل ترقيم الصفحات كما اقترحت باستخدام خطاف بسيط:

app.service('myservice').before({
  find(hook) {
    if(hook.params.query.$limit === '-1') {
      hook.params.paginate = false;
      delete hook.params.query.$limit;
    }
  }
});

ال 3 كومينتر

يتم تعطيل هذا افتراضيًا لأسباب وجيهة (عندما يكون لديك عدة آلاف من السجلات التي تؤدي إلى تعطيل ترقيم الصفحات يمكن أن يؤدي إلى إسقاط كل من الخادم والعميل) ولكن من الممكن تعيين معلمة الاستعلام لتعطيل ترقيم الصفحات كما اقترحت باستخدام خطاف بسيط:

app.service('myservice').before({
  find(hook) {
    if(hook.params.query.$limit === '-1') {
      hook.params.paginate = false;
      delete hook.params.query.$limit;
    }
  }
});

إنه يعمل ، شكرًا لاستجابتك السريعة

تم قفل هذه المشكلة تلقائيًا نظرًا لعدم وجود أي نشاط حديث بعد إغلاقه. الرجاء فتح مشكلة جديدة مع ارتباط لهذه المشكلة للأخطاء ذات الصلة.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات