【问题标题】:Graphql complex boolean queriesGraphql 复杂的布尔查询
【发布时间】:2018-12-11 10:40:58
【问题描述】:

我从您可以搜索的文档中了解通过 graphql 进行查询的原则:

{
  "hero": {
    "name": "R2-D2"
  }
}

但是你想要做一些更复杂的事情怎么样:

{
  "hero": {
    "name": "R2-D2 AND C-3PO AND BB-8 NOT K-2SO"
  }
}

有什么方法可以传递这样的字符串并得到适当的结果吗?

【问题讨论】:

    标签: graphql graphql-ruby


    【解决方案1】:

    不,没有。

    您可以通读GraphQL spec,看看它做了什么,没有定义什么。特别是该规范没有定义任何类型的过滤、任何类型的表达式语言或任何类型的布尔组合器。 (如果没有字段解析器显式添加它,就无法说相当于 SQL 的 WHERE NAME='foo'。)

    GraphQL 允许的字段参数具有足够的开放性,您可以在其之上构建更丰富的查询,但这对于某些应用程序或库来说是非常特定的。两个突出的例子是GitHub GraphQL API(它倾向于允许对选定字段进行精确匹配查询,但没有更丰富的内容)和Prisma API(它有一个涉及的多级对象方案来复制 SQL 查询)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-21
      • 2022-12-19
      • 2019-07-26
      • 1970-01-01
      • 2019-11-14
      • 1970-01-01
      • 2019-10-13
      • 1970-01-01
      相关资源
      最近更新 更多