GraphQLAPI选择特定值

GraphQLAPI选择特定值,graphql,Graphql,我有以下疑问: { allPeople { people { name filmConnection { films { title } } } } } 我想选择所有与片名“新希望”有关的人。我如何从API中选择这个特定的东西。我也可以像这样得到它并在代码中处理它。但肯定有更好的办法 我所期望的是: { allPeople { people { name

我有以下疑问:

{
  allPeople {
    people {
      name
      filmConnection {
        films {
          title
        }
      }
    }
  }
}
我想选择所有与片名“新希望”有关的人。我如何从API中选择这个特定的东西。我也可以像这样得到它并在代码中处理它。但肯定有更好的办法

我所期望的是:

{
  allPeople {
    people {
      name
      filmConnection {
        films {
          title : "a new hope"
        }
      }
    }
  }
}
那没用

在这个操场上尝试一下:

graphql查询。。。不用于生成[sql]查询;) 这更多是为了定义所需数据的形状 参数可传递给更深的子级(f.e.可用于过滤胶片)

如果API支持
电影的这种过滤

。。。但是它不会过滤人-你将拥有所有人和过滤电影(适用于所有人),因为过滤器对父母不起作用

您可以拥有自定义API,该API将支持这种过滤,例如

{
  allPeople {
    people(connectedFilmTitle_eq:"a new hope") {
      name {
        filmConnection {    
          films { 
            title
          }
        }
      }
    }
  }
}
自定义(非自动命名)
people
resolver可以[在联接表上]进行适当的查询并返回所需的结构

在这种情况下,您可能不需要更深层的结构-
…filmConnection{films{title
-您之前就知道这个数据(过滤器参数)

但您可能有很多关系,因此cen会将此查询反转过来

{
  allFilms {
    films(title_eq:"a new hope") {
      title {
        peoleConnection {    
          people { 
            name
          }
        }
      }
    }
  }
}

这个
graphql
API不允许向
title
字段传递参数,所以您不能这样做。@goto1在这种情况下我通常怎么做就像您建议的那样,您必须在代码中处理它。@goto1谢谢!但您不是家长,为什么在这里可以有一个参数?这是关于一般graphql的能力和规则-不是这个特定的API
{
  allFilms {
    films(title_eq:"a new hope") {
      title {
        peoleConnection {    
          people { 
            name
          }
        }
      }
    }
  }
}