如何在Gatsby GraphQL中过滤子数组?

问题描述

这使我获得所有与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
        }
      }
    }
  }
}

解决方法

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

enter image description here

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...