从Prismic和GatsbyJS过滤查询

时间:2019-10-29 21:21:11

标签: reactjs graphql gatsby prismic.io

在我的gatsby站点中看到一些奇怪的行为查询Prismic数据源并通过内容关系进行过滤。我正在尝试创建一个页面,该页面根据传递到该页面的类别过滤某些产品。阅读Prismic和Gatsby文档,我应该能够使用where子句过滤数据,但是当出现以下错误时我尝试建立

error    Unknown argument "where" on field "allPrismicModel" of type "Query"

下面是查询的相关部分

query getProducts($uid: String) {
    allPrismicModel(where: { system_category: $uid }) {
      edges {
        node {
          data {
            system_category {
              uid
            }
            ...other fields here...
          }
        }
      }
    }
  }

有人遇到或知道如何解决吗?

2 个答案:

答案 0 :(得分:1)

where在盖茨比中不存在。我强烈建议使用GraphiQL(在localhost:8000 / ___ graphql下)查看您可以做什么。该文档还显示了所有可能性:https://www.gatsbyjs.org/docs/graphql-reference/

它可能会在最后(未经测试):

filter: { system_category: { eq: $uid } }

答案 1 :(得分:0)

allPrismicModel(filter: { system_category : { eq: $uid } }) {  
edges {
        node {
          data {
            system_category {
              uid
            }
            ...other fields here...
          }
        }
      }
    }
  }

这是运行该查询的更常见的方法