bandi graphql插件:如何获取所有记录 意图:问题:问题:说明:解决方法解决方案!?

意图:

我需要graphql返回所有记录

问题:

amountLimit在trapi插件上的实现方式不同

问题:

有人可以告诉我为什么要像这样实现graphql amountLimit吗?

  amountLimiting: (params = {}) => {
    const { amountLimit } = strapi.plugins.graphql.config;
    if(!amountLimit) return params;
    if (!params.limit || params.limit === -1 || params.limit > amountLimit) {
      params.limit = amountLimit;
    } else if (params.limit < 0) {
      params.limit = 0;
    } 
    return params;
  },

说明:

strapi对所有记录都有一个_limit = 0,但是在graphql插件上,它们添加了默认限制100。 如果要给graphql查询提供limit: -1limit: 0,它将把limit的默认100放入。 如果我要给(else if (params.limit < 0)低于nr的其他0,但不是-1,则该插件会用limit: 0来查询stradi(所有记录)

解决方法

我需要一种查询所有记录的graphql的方法,但是将限制设置为-2对我来说似乎有点随机(因为将限制设置为任何-(2^31) < nr < -1数字)

解决方案!?

有什么想法吗?

heroliyimin 回答:bandi graphql插件:如何获取所有记录 意图:问题:问题:说明:解决方法解决方案!?

  

DMehaffy (Not Strapi Employee) 12:35 PM   Strapi现在不使用典型的版本系统(它将在稳定时使用)   无法获取所有条目。为了防止大量查询从根本上锁定服务器,   又名DDoS。   Strapi是nodejs(基本上是单线程)的大规模一次性查询,并不是拉动所有数据的最有效方法,尤其是在负载平衡设置中   抓取一个计数,将其分割,然后同时或异步发出多个较小的请求,然后将记录合并到客户端   当然,您要花费更多的往返时间,但是从长远来看,它要快得多(尤其是在负载均衡多个trapi实例时)

显然,在trapi版本beta.17.5中,负限制将被完全删除,因此使此问题过时。

从上面的Strapi响应开始,他们正在研究一种解决方案,但是目前,对于Strapi 3.0.0-beta.14(我的当前版本)来说,否定查询仍然可用,但是它将被删除,并提供了新的解决方案。

本文链接:https://www.f2er.com/3037336.html

大家都在问