【问题标题】:Implementing pagination on article in strapi在strapi中对文章实现分页
【发布时间】:2022-08-15 18:41:17
【问题描述】:
async function find(ctx) {
    return await strapi.services.article.find(ctx.query)
}

这是我的控制器

resolver: async (obj, options, ctx) => {
    const result = await strapi.query(\'active\').model.find({ article_id: obj.id}); 
    return result.length > 0;
}

这是我的解析器

我在我的strapi后端有这个,我正在尝试弄清楚如何进行分页。因为有很多方法可以解决它并且没有很好的记录,我不确定我们能做什么。这是在使用 Mongoose 吗?你如何将数据从控制器准确地发送到解析器?

resolver: async (obj, options, ctx) => {
    const result = await strapi.query(\'active\').model.find({ article_id: obj.id}).limit(obj.limit).offset(obj.offset); 
    return result.length > 0;
}

是否可以这样做,因为我假设正在使用的是猫鼬?如果没有,我们如何更改解析器以对文章进行分页?

    标签: node.js strapi


    【解决方案1】:

    可以使用内置分页的查询引擎 API:

    strapi.db.query('api::article.article').findMany({
      offset: 15, 
      limit: 10,
    });
    
    

    文档:https://docs.strapi.io/developer-docs/latest/developer-resources/database-apis-reference/query-engine/order-pagination.html#pagination。

    【讨论】:

    • v3有什么东西吗?我还没有找到v3的任何东西。我收到一条错误消息,说 findMany 不是 v3 中的函数。
    【解决方案2】:

    对于strapi v3,你可以使用这样的东西:

    const result = await strapi.query("model").find({
          id: id,
          _start: page > 0 ? (page - 1) * pageSize : 0,
          _limit: pageSize,
          _sort: "created_at:desc",
    });
    

    【讨论】:

      猜你喜欢
      • 2020-07-30
      • 1970-01-01
      • 2018-03-22
      • 2021-09-20
      • 1970-01-01
      • 1970-01-01
      • 2019-02-27
      • 2015-03-22
      相关资源
      最近更新 更多