在“搜索”连接上请求 500 条记录超过了 graphql 中 100 条记录的“第一”限制

Posted

技术标签:

【中文标题】在“搜索”连接上请求 500 条记录超过了 graphql 中 100 条记录的“第一”限制【英文标题】:Requesting 500 records on the `search` connection exceeds the `first` limit of 100 records in graphql 【发布时间】:2019-10-22 15:44:38 【问题描述】:

我正在尝试使用搜索的关键字获取所有存储库。搜索结果大约有 500 个存储库,但我只能检索 100 个,因为这是限制,有没有办法检索所有 500 个。

query 
    rateLimit
        cost
        remaining
        resetAt
    

search(query: "-js created:>2015-01-01 language:javascript", type:REPOSITORY, first: 500) 
    repositoryCount
    pageInfo 
        hasNextPage
        endCursor
        startCursor
    
    edges 
        node 
            ... on Repository 
                name
                url
            
        
    

我收到消息了

"在search 连接上请求 500 条记录超过了first 限制为 100 条记录。”,以及 “类型”:“EXCESSIVE_PAGINATION”

【问题讨论】:

限制免费访问,付费更多 【参考方案1】:

我尝试过这样,能够列出所有存储库,但不能同时列出所有存储库。

有一个名为 'endCursor' 的字段,当您运行查询 first: 100 时,您将获得 endCursor 的一些值,然后在搜索查询中为 'after' 字段提供该 endCursor 值,如下所示:

    search(query: "-js created:>2015-01-01 language:JavaScript", 
    type:REPOSITORY, first: 100, after: "endCursor value")

这样您可以获得接下来的 100 个存储库,对于要列出的剩余存储库也是如此。

【讨论】:

以上是关于在“搜索”连接上请求 500 条记录超过了 graphql 中 100 条记录的“第一”限制的主要内容,如果未能解决你的问题,请参考以下文章