【问题标题】:GraphQL search OR operatorGraphQL 搜索 OR 运算符
【发布时间】:2020-02-17 05:06:23
【问题描述】:

我想根据不同的列在 GraphQL 上进行一些搜索,例如,如果字符串等于名字或姓氏。

我希望能够做这样的事情:

{
  clients(where: {or: [{firstName_contains: "example"}, {lastName_contains: "example"}]}){
    id
    firstName
    lastName
    phone
  }
}

或者,如果有办法在多个 where 上进行聚合。

api 是基于 Strapi JS 构建的,但查询应该是标准的。

系统:

  1. Node.js 版本:10.13.0
  2. NPM 版本:6.12.0
  3. Strapi 版本:3.0.0-beta.17.1
  4. 数据库:SQLite
  5. 操作系统:Ubuntu

感谢您的帮助。

【问题讨论】:

  • 您好!遗憾的是,目前还没有办法做到这一点。
  • 从一开始我就将我的项目切换到了 Adonis JS 以便能够做到这一点。但是感谢您的帮助。

标签: graphql graphql-js strapi


【解决方案1】:

您可以使用_or。参考文档here .虽然参考文档适用于 Hausra,但语法也适用于 Strapi(针对 v 3.4.1 测试)。

{
  clients(where: {_or: [{firstName_contains: "example"}, {lastName_contains: "example"}]}){
    id
    firstName
    lastName
    phone
  }
}

【讨论】:

  • 这是 Hasura 特有的,因此不使用 Hasura 的人在大多数情况下可能需要一种不同的方式来实现自己。
  • 仅供参考,问题是针对 Strapi,上述语法也适用于 Strapi。!!
猜你喜欢
  • 1970-01-01
  • 2017-02-03
  • 2011-09-01
  • 2019-03-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多