【问题标题】:How can I filter child arrays in Gatsby GraphQL?如何在 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
        }
      }
    }
  }
}

【问题讨论】:

    标签: graphql gatsby sanity


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2018-04-14
      • 2020-01-20
      • 1970-01-01
      • 2023-03-09
      • 2019-02-19
      • 2020-10-18
      • 2019-12-21
      • 2017-05-21
      • 2017-03-08
      相关资源
      最近更新 更多