如何过滤比GraphQL更大的过滤

Rom*_*per 11 graphql

type Person {
    firstName: String!,
    lastName: String!,
    age: Int!
}
Run Code Online (Sandbox Code Playgroud)

如何查询所有18岁以上的人?

vij*_*jay 8

哈苏拉

query {
  article(
    where: {rating: {_gte: 4}}
  ) {
    id
    title
    rating
  }
}
Run Code Online (Sandbox Code Playgroud)

棱镜

query {
  posts(where: {
    AND: [{
      title_in: ["My biggest Adventure", "My latest Hobbies"]
    }]
  }) {
    id
    title
  }
}
Run Code Online (Sandbox Code Playgroud)

建议 不要直接/独立使用graphql,与上面的orm一起使用


sin*_*ned 7

这可能取决于您使用的后端,但例如在 graph.cool 中,您可以是这样的:

query {
  allPersons(filter: {
    age_gt: 18
  }) {
    firstName
    lastName
  }
}
Run Code Online (Sandbox Code Playgroud)

有关过滤的更多文档,请参见此处:https : //www.graph.cool/docs/reference/graphql-api/query-api-nia9nushae#explore-available-filter-criteria


Abr*_*dez 6

如果您使用Prisma作为后端,您可以使用大于运算符 ( _gt),如下所示:

query {
  persons(where: {age_gt: 18}) {
    firstName
    lastName
    age
  }
}
Run Code Online (Sandbox Code Playgroud)

您还可以使用其他运算符,例如:

  • _gt(比...更棒)
  • _lt(少于)
  • _gte(大于或等于)
  • _lte(小于或等于)
  • _in(等于)
  • _not_in(不等于)

它们与任何数据类型兼容,如整数、浮点、双精度、文本、布尔值、日期等。