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

时间:2017-10-10 07:50:58

标签: wordpress graphql graphql-js gatsby

我使用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 个答案:

答案 0 :(得分:1)

This article解释了背景故事,但总而言之,您需要确保至少有WordPress帖子中的1个具有精选图片。这样better_featured_image字段将始终存在。

在javascript中,如果您尝试访问allWordpressPost.edges.node.better_featured_image.wordpress_id并且better_featured_image不存在,则会出现语法错误。

在不知道“悲惨失败”的具体含义的情况下,不确定是否还有其他建议。