【问题标题】:How to define an optional field in graphQL fragment for query如何在 graphQL 片段中定义可选字段以进行查询
【发布时间】:2020-07-05 05:20:42
【问题描述】:

用于该查询的数据库包含一个文件夹中的一组 YAML 文件。

使用 GatsbyJS 收集这些文件,并可通过 graphQL 请求获得。

并非所有源文件都定义了 label 字段。

是否可以在丢失时为该字段返回默认值或空值?


其实我得到以下错误:

无法查询类型“EngagementsYamlTo”上的字段“标签”。


这是我的查询:

{
  stable: allEngagementsYaml(filter: {stable: {eq: true}, to: {}}) {
    edges {
      ...engagementNode
    }
  }
  unstable: allEngagementsYaml(filter: {stable: {eq: false}}) {
    edges {
      ...engagementNode
    }
  }
}

fragment engagementNode on EngagementsYamlEdge {
  node {
    heading
    description
    iconClass
    stable
    to {
      href
      label
    }
  }
}

【问题讨论】:

    标签: graphql gatsby


    【解决方案1】:

    嗯……这不是查询的问题。

    没有源文件有标签字段,因此该架构从未被触及。至少有 1 个带有标签字段的文件将返回有效响应。

    澄清了这种情况!

    【讨论】:

    • 我可能没有在这里使用“解决”这个词。下一个问题就是如果没有条目具有该字段,如何防止错误?
    • @cook88 是的,你可能是对的,改变了它。
    猜你喜欢
    • 2021-10-11
    • 2019-06-12
    • 2015-11-25
    • 2020-02-03
    • 2017-05-24
    • 1970-01-01
    • 2022-01-16
    • 2019-10-02
    • 2020-04-01
    相关资源
    最近更新 更多