在我们的Web应用中,多数情况下需要按需查询数据,并且可能需要模糊查找。针对这种情况,我们可以使用 GraphQL 查询语言提供的表达式来执行模糊查询。
什么是 GraphQL?
GraphQL是一种用于构建API的查询语言。
GraphQL 查询
GraphQL查询是一种从服务器获取数据的方式,具体地说是在API的端点上使用查询语言。
GraphQL模式
GraphQL模式由类型定义和相应的解析器构成。
GraphQL解析器
GraphQL解析器是GraphQL API中的函数。它接收GraphQL查询作为参数,并返回一个响应。
模糊查询
略微了解一下基于字符串的模糊查询算法。他们在字符串中搜索相关内容时非常有用。
如何执行模糊搜索?
我们使用LIKE
表达式和通配符%
执行模糊查询。
LIKE
是用来指定匹配部分字符串的关键字。我们可以通过将通配符 %
附加到字符串的末尾来执行通配符匹配搜索。
例如,LIKE 'abc%'
可以匹配所有以abc
开头的字符串,如 abc
, abcc
, abcd
, abcd_a
等。
在 GraphQL 中使用 LIKE 查询
GraphQL的基本语法是由类型定义和解析器组成的。因此我们需要在类型定义中添加 LIKE 连接器。
类型定义
---- ----- - ------------ ------- ------- ------- ----- -------- ------ -
解析器
------ ------ ----- -- - --- ------ - --------- -- ------------ - ------ - ------------------ -- ---------- --- ------------ - -- ------------- - ------ - ------------------ -- ----------- --- ------------- - -- ----------- - ------ - ------------------ -- ---------- ---- ------------------- - ------ ------- --
在此解析器中,我们通过检查查询中的一些参数来过滤出正确的结果集,其中 like 参数执行了 LIKE 查询。 可以看到,它是在返回结果之前执行的。
示例代码
一个基本的GraphQL请求如下所示:
----- - ------------ ------ ------- ------ ----- ------ - ------ ------ - -
此查询将使用 title
和 author
过滤查询结果,同时使用 LIKE
查询的like
参数来查询foo
的匹配项。
当我们执行如上查询时,我们可以得到:
- ------- - -------- - - -------- ---------- --------- ----- -- - -------- ---------- --------- ----- - - - -
这里有一个使用LIKE
查询的例子。
总结
我们已经扩展了GraphQL查询语言并了解了模糊查询。 通过此文章,您应该能了解GraphQL和模糊查询的工作原理,并可以运用到你的Web应用程序中。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/64f82be5f6b2d6eab304d568