一个请求中包含大量GraphQL查询

一个请求中包含大量GraphQL查询,graphql,Graphql,我已经到了必须以SQL风格的方式使用GraphQL来大量提取数据的地步(我希望不是这样),我还需要使用一个名为fooQuery的固定查询,我无法编辑它来提取数据 在查看了其他答案之后,我编写了一个python脚本,从一个独特的id列表生成一个巨大的丑陋超级查询,如下所示: { query155051: fooQuery(id: 155051) { ... details } query414989: fooQuery(id: 414989) { ... details

我已经到了必须以SQL风格的方式使用GraphQL来大量提取数据的地步(我希望不是这样),我还需要使用一个名为
fooQuery
的固定查询,我无法编辑它来提取数据

在查看了其他答案之后,我编写了一个python脚本,从一个独特的
id
列表生成一个巨大的丑陋超级查询,如下所示:

{
  query155051: fooQuery(id: 155051) {
    ... details
  }
  query414989: fooQuery(id: 414989) {
    ... details
  }
  .
  .
  .
  query265014: fooQuery(id: 265014) {
    ... details
  }
}

fragment details on fooQuery {
  categories {
    id
    name
    }
  }
}
其中三行点代表数千个类似的子查询。db可以处理多达30个这样的子查询,但是如果再多的子查询,它就会失败。我不知道为什么


我的问题是,有没有更好的方法在一个查询中批处理数千个查询,或者我应该将数千个查询分解为多个超级查询,每个超级查询包含约30个子查询?

这确实是一个模式设计问题。在这个数量上,客户端应该能够提交一个id数组作为参数并返回一个结果数组,而不是期望每个id生成一个单独的查询。这也使得将这些id聚合到单个DB请求中更容易,而不是每个
fookery
提交一个,这可能就是现在正在发生的事情。唉,模式是另一件我无法控制的事情。那么,你会推荐批处理吗?是的,这真的很不幸:(你是在使用特定的客户机将这些请求发送到服务器(如中继、Apollo等)吗?GraphiQL,god help meThis实际上是一个架构设计问题。在该卷中,客户端应该能够提交一个id数组作为参数,并返回一个结果数组,而不是期望每个id生成一个单独的查询。这也使得将这些id聚合到单个DB请求中更容易,而不是每个id提交一个
fooQuery
,这可能就是现在正在发生的事情。唉,模式是另一件我无法控制的事情。那么你会推荐批处理吗?是的,这真的很不幸:(你是在使用特定的客户端将这些请求发送到服务器(如中继、阿波罗等)?GraphiQL,上帝保佑我