Gatsby:允许 GraphQL 查询中不存在的字段



我正在使用Gatsby和Wordpress源插件。目前为止,一切都好。但问题是我正在查询可能存在也可能不存在的字段,在这种情况下,是帖子的特色图像。这是我的查询:

{
allWordpressPost(sort: { fields: [date] }) {
      edges {
        node {
          title
          excerpt
          slug
          featured_media
          better_featured_image {
            wordpress_id
            alt_text
            caption
            description
            media_type
            post
            source_url
          }
        }
      }
    }
}

设置特色图像时,它运行良好,但否则会失败。所以我的问题:GraphQL 中有什么方法可以查询可选字段吗?要向必填字段添加默认值?我对 GraphQL 太陌生了,所以我甚至不确定在这一点上是否可能。谢谢。

本文解释了背景故事,但简而言之,您需要确保至少有 1 个 WordPress 帖子具有特色图像。然后better_featured_image字段将始终存在。

在javascript中,如果你尝试访问allWordpressPost.edges.node.better_featured_image.wordpress_id并且better_featured_image不存在,你会得到一个语法错误。

不知道"惨败"的具体含义,不知道还能建议什么。

最新更新