Reactjs hasura graphql查询中的特殊字符

Reactjs hasura graphql查询中的特殊字符,reactjs,postgresql,graphql,hasura,Reactjs,Postgresql,Graphql,Hasura,我一直在使用hasura和next.js在前端(SSR)中呈现html。我使用了Positures数据库,并通过useQuery钩子使用grapql查询来获取数据。 我的简单查询如下 query News_60($str) { news: news_aggregate(where: where: { text:{_ilike:$str}) { aggregate { count } } } 上面一个给出了新闻匹配str的计数。str

我一直在使用hasura和next.js在前端(SSR)中呈现html。我使用了Positures数据库,并通过useQuery钩子使用grapql查询来获取数据。 我的简单查询如下

query News_60($str) {
    news: news_aggregate(where: where: { text:{_ilike:$str}) {
      aggregate {
        count
      }
    }
  } 
上面一个给出了新闻匹配str的计数。str的示例为“%game%”(用户在搜索框中键入“game”)。它工作得很好。它将“游戏”作为文本字段的一部分提供新闻。如果我通过“%game%of%”(用户在搜索框中键入“game of”)。我得到的结果与“游戏”和“的”。例子:权力的游戏。那对我来说很好。现在,问题是当用户在搜索框中键入“游戏类型”时。我想让hasura选择文本为“游戏类型”或“游戏类型”或“游戏类型”的结果。因此,它应该选择所有具有“游戏”和“类型”单词的结果,这些单词之间有任何特殊字符或空格。我尝试了“%game%type%”。但是它会选择包含中间任何字母的文本,但是,我只希望中间有特殊字符。
有办法。 请帮帮我


hasura中有任何特殊字符处理吗?

您可以使用类似的运算符和SQL标准的正则表达式来实现

{
  "str": "%game( |#|\\_)type%"
}
这将匹配两个单词之间的任何空格#字符


一个警告可能是区分大小写。克服这一问题的一种方法是将列更改为citext类型。我试试这个。太好了。这是例外。谢谢,没问题!爸爸