如何在 Gatsby GraphQL 中过滤子数组?
Posted
技术标签:
【中文标题】如何在 Gatsby GraphQL 中过滤子数组?【英文标题】:How can I filter child arrays in Gatsby GraphQL? 【发布时间】:2021-02-09 15:27:28 【问题描述】:这让我得到showOnSite === true
的所有事件:
query MyQuery
allSanityP2Event(filter: showOnSite: eq: true)
edges
node
showOnSite
title
relatedEvents
showOnSite
title
然后我想在这些结果中过滤relatedEvents
,也可以过滤showOnSite === true
。 GraphQL 肯定可以做到这一点吗?
使用elemMatch
不起作用,因为它只给我relatedEvents
具有showOnSite === true
的事件,如下所示:
query MyQuery
allSanityP2Event(filter: showOnSite: eq: true, relatedEvents: elemMatch: showOnSite: eq: true)
edges
node
showOnSite
title
relatedEvents
showOnSite
title
从逻辑上讲,我希望这会起作用,但没有......
query MyQuery
allSanityP2Event(filter: showOnSite: eq: true)
edges
node
showOnSite
title
relatedEvents(filter: showOnSite: eq: true)
showOnSite
title
【问题讨论】:
【参考方案1】:嗯,这就是解决的问题。原来是理智的错。
【讨论】:
以上是关于如何在 Gatsby GraphQL 中过滤子数组?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 reactjs 和 graphql 在 gatsby 中映射嵌套数组
Gatsby - 如何使用 GraphQL 查询 src/data/ 子文件夹中的所有 YAML
在 Gatsby 的 graphQL 查询中使用 begin With 或 startsWith 过滤器