GraphQL如何进行关系查询?

时间:2018-01-05 11:31:23

标签: graphql

我正在使用GraphQL Express:

enter image description here

我试图通过相关节点的属性对关系数据运行此查询:

{
  Employee {
    name
    Item(name: "Laptop") {
      name
    }
  }
}

但它给出了一个错误:

{
  "errors": [
    {
      "message": "Unknown argument \"name\" on field \"Item\" of type \"Employee\".",
      "locations": [
        {
          "line": 4,
          "column": 10
        }
      ]
    }
  ]
}

Check Generated Schema Here

You can try it out here

我错过了什么?他们不支持这种功能吗?

2 个答案:

答案 0 :(得分:0)

是,因为错误表明字段name上没有名为Item的参数。

目前看来他们的架构中有一些无效字符,这会导致GraphiQL界面正确加载出现问题,但通常您可以点击左侧的任何字段来打开文档面板,获取其他详细信息,包括可用的参数(如果有)。或者,您可以按 CTRL + SPACE ALT + SPACE 来激活自动完成(或者只是启动打字)。

答案 1 :(得分:0)

更大的问题是,您使用名称大小写查询,因为您是typesj。

您认为您正在尝试查询所有Employee类型,但实际上它正在点击只有Employee字段的name查询,因此Item(应该是item: Item)不存在。

TL; DR,对类型使用大写字符串,如Employee和非大写的名称,如employees,以指示返回多个Employee类型实例的查询。