如何在graphql查询过滤器中使用OR / AND或使大小写不敏感的过滤器?

泰勒·奥斯丁

就像发问一样,我需要能够在3种可能的情况下进行搜索。我需要所有大写,小写或普通大写字母。

如果不可能,是否可以使用不区分大小写的过滤器呢?

  allMarkdownRemark(filter: { brand: { eq: $normalBrand } }) { //==> Need more here
        edges {
            node {
                webImages {
                    url
                }
            }
        }
    }

我发现有人这样做:

filter: { OR: [
  {brand: { eq: $normalBrand }}, 
  {brand: { eq: $normalBrand2 }}, 
  {brand: { eq: $normalBrand3 }}
]}

但这对我不起作用

胸腺嘧啶

当前,graphql本身没有内置任何使用区分大小写的搜索的功能,它完全基于graphql服务器正在运行的库以及是否选择添加对此功能的支持。如果您可以修改graphql查询代码,则可以以某种方式自己添加它,或者请求托管或构建该代码的人以某种方式添加该功能。

关于OR,我怀疑我能说得比https://github.com/graphql/graphql-js/issues/585#issuecomment-262402544

正是由于您在问题顶部提到的原因,GraphQL不支持AND / OR运算符:它不映射至任何类型的存储。我认为要正确理解为什么没有这些功能,就需要改变思维模式。我们认为GraphQL与RPC语言比与数据库语言更相似。

为了帮助理解思维模型的转变,考虑编​​程语言中的字段和参数(例如函数调用)很有用。因此,假设我们问一个类似的javascript问题:为什么不能键入:getCaseByStatus("open" OR "closed")我认为答案是因为JavaScript在这种情况下不知道OR的含义。"open""closed"应该以某种方式组合以产生另一个值吗?功能的执行是否应该getCaseByStatus以某种方式改变?JavaScript不能确定-因为基于字段的过滤概念不是JavaScript语义的一部分。...

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何应用不区分大小写的过滤器

如何使过滤器不区分大小写?

jQuery过滤器列表,不区分大小写

在阵列QueryDSL不区分大小写的过滤器

jq 不区分大小写键过滤器

按过滤器区分大小写搜索并包括

不区分大小写的列表过滤器

mongodb,如何在查询中使用$ not过滤器

Yii2:重音不敏感过滤器

使用Objectify + Google AppEngine的不区分大小写的过滤器查询

如何在JTable上执行不区分大小写的过滤器?

如何使用StringBuilder进行大小写不敏感的替换

Spring Data Mongo大小写不敏感,如查询

如何使自定义模板过滤器不区分大小写?(Django 2.1)

Ruby如何使搜索过滤器不区分大小写

如何使Hg忽略过滤器不区分大小写

angular2使用管道不区分大小写的过滤器?

如何区分大小写不敏感的键?

在查询中使用多个过滤器

SqlAlchemy像过滤器不区分大小写,但应该区分大小写

如何在内部条件过滤器中使用过滤器?

如何在for中应用“过滤器过滤器”,而不是在Twig中使用“ if”

如何在过滤器数据表中使用全局过滤器

Spark SQL不区分大小写的列条件过滤器

elasticsearch在not_analyzed字段上不区分大小写的术语过滤器搜索

neo4j中不区分大小写的过滤器

在SQLAlchemy过滤器中引用区分大小写的列名称

在列的模式上执行Spark SQL区分大小写的过滤器

CYPRESS - 使过滤器选择器中的“:contains()”不区分大小写