gpt4 book ai didi

filter - 如何根据传入参数的值有条件地应用 GraphQL 过滤器?

转载 作者:行者123 更新时间:2023-12-04 17:42:59 79 4
gpt4 key购买 nike

更新:对于我的特定用例,@langpavel 的解决方案会起作用。但是,它避免回答原始问题...是否可以根据传入参数的值有条件地应用 GraphQL 过滤器?

我将参数传递到名为 $env 的 GraphQL 查询中,我想将其与我博客文章的 markdown frontmatter 中的 draft bool 值结合使用以便在制作过程中过滤掉草稿。

我的查询以缩写形式显示在下方。如您所见,我有一个过滤功能,可以根据博文是否为草稿进行过滤。我不知道该怎么做是利用 $env 参数仅在 $env 等于 production 时应用过滤器>.

export const pageQuery = graphql`
query BlogPosts($env: String!) {
markdownRemark(
filter: { frontmatter: { draft: { eq: true } } }
) {
frontmatter {
title
date(formatString: "MMMM DD, YYYY")
draft
}
}
}
`

最佳答案

如果是 gatsby,您可能应该编写两个查询并根据 process.env.NODE_ENV 有条件地选择一个:

export const pageQuery = (process.env.NODE_ENV === 'production') ?
graphql`
query BlogPosts {
markdownRemark(
filter: { frontmatter: { draft: { ne: true } } }
) { frontmatter { ... } }
}
` : graphql`
query BlogPosts {
markdownRemark { frontmatter { ... } }
}
`

关于filter - 如何根据传入参数的值有条件地应用 GraphQL 过滤器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53601340/

79 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com