我理解通过graphql从您可以搜索的文档中查询的原则:
{
"hero": {
"name": "R2-D2"
}
}但是如果你想做一些更复杂的事情,比如:
{
"hero": {
"name": "R2-D2 AND C-3PO AND BB-8 NOT K-2SO"
}
}有没有办法传递这样的字符串并得到适当的结果?
发布于 2018-12-12 02:13:44
不,没有。
您可以阅读GraphQL规范并查看它所做的和不定义的事情。特别是,规范没有定义任何类型的筛选、任何类型的表达式语言或任何类型的布尔组合器。(在没有字段解析器显式添加的情况下,不存在与SQL的WHERE NAME='foo'等效的本地方法。)
GraphQL允许的字段参数是足够开放的,因此您可以在其基础上构建更丰富的查询,但这非常特定于某些应用程序或库。两个突出的例子是GitHub GraphQL API (它倾向于允许对所选字段进行精确匹配的查询,但不允许更丰富的查询)和Prisma API (它有一个涉及多层对象方案来复制SQL查询)。
https://stackoverflow.com/questions/53722335
复制相似问题