在Gatsby中有条件地构建GraphQL查询

在Gatsby中有条件地构建GraphQL查询,gatsby,Gatsby,我正在尝试构建一个Gatsby页面,它需要来自两个源(都是restapi)的数据。第一个可以很容易地过滤,所以我只得到我想要的数据 假设这是source1的GraphQL查询: query { users{ name reference } } 现在,我需要从source2(RESTAPI)获取一组数据,并通过字段引用将其与Source1中的数据链接起来 query { entity { reference, field1,

我正在尝试构建一个Gatsby页面,它需要来自两个源(都是restapi)的数据。第一个可以很容易地过滤,所以我只得到我想要的数据

假设这是source1的GraphQL查询:

query {
  users{
    name
    reference
  }
}
现在,我需要从source2(RESTAPI)获取一组数据,并通过字段引用将其与Source1中的数据链接起来

query {
    entity {
        reference,
        field1,
        field2
    }
}
我可以构建两个查询,然后过滤,但是

  • 来自源1的查询被过滤,所以它只会返回数据的子集,但我只能过滤源2,在某种程度上说,只返回引用和已经从源1获取的值匹配的值。我不能从source2获取所有实体数据并在客户端对其进行过滤,因为结果将是巨大的超流
我想我可以使用与源代码1中引用类型相关联的某种类型的解析器来实现这一点。这是真的吗?在这种情况下,有没有关于如何做到这一点的例子

如果解析器不是解决方案,我该怎么做