如何在Gatsby GraphQL中筛选子数组?

如何在Gatsby GraphQL中筛选子数组?,graphql,gatsby,sanity,Graphql,Gatsby,Sanity,这将获取具有showOnSite===true的所有事件: query MyQuery { allSanityP2Event(filter: {showOnSite: {eq: true}}) { edges { node { showOnSite title relatedEvents { showOnSite title } } } } }

这将获取具有
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
        }
      }
    }
  }
}

这就是解决的问题。原来是理智的错


好吧,这就是解决的问题。原来是理智的错