You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在GitHub GraphQL查询中过滤嵌套totalCount为0的结果节点?

结论
  • 你需要的过滤逻辑无法直接在GitHub GraphQL查询中实现,必须在查询返回后通过业务代码处理。

原因说明

GraphQL的过滤能力完全由服务端开放的schema决定,不是通用语法支持任意维度过滤。

  • GitHub的search接口(查询类型为REPOSITORY时)仅支持通过query参数传入GitHub原生搜索语法支持的过滤规则,比如按仓库stars数、开发语言、是否归档、所有者等维度筛选,没有开放「按指定用户在默认分支的提交数是否大于0」这类过滤条件。
  • 你查询中获取的defaultBranchRef.target.history.totalCount属于仓库的嵌套字段,GitHub没有提供基于这类嵌套字段返回值过滤上层节点的能力,因此服务端无法直接帮你剔除totalCount为0的节点。

推荐处理方案

  1. 保留现有查询语句不变,按分页规则拉取所有符合$q搜索条件的仓库
  2. 在业务代码中对返回的nodes数组做过滤,仅保留符合计数要求的节点即可,以下是JS示例:
const validRepositories = data.search.nodes.filter(repo => {
  return repo.defaultBranchRef?.target?.history?.totalCount > 0
})

内容的提问来源于stack exchange,提问作者dagda1

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 14:54:03