graphql - 如何过滤分配给 GraphQL 中别名的值?
问题描述
我有一个工作查询,如下所示:
query orgs($limit: Int = 10) {
orgs: research_db_fundingorganization(limit: $limit) {
gridreference {
id: data(path: "id")
name: data(path: "name")
country: data(path: "addresses[0].country")
city: data(path: "addresses[0].city")
types: data(path: "types")
}
}
}
但我只想在sayorgs.gridreference.country
等于时返回对象Austria
。
我无法弄清楚如何过滤路径上可能存在更深的值。
过滤orgs.gridreference.id
和orgs.gridreference.name
很简单,可以这样做:
query orgs($limit: Int = 10, $query: jsonb = {id: "grid.458347.9"}) {
orgs: research_db_fundingorganization(limit: $limit, where: {gridreference: {data: {_contains: $query}}}) {
gridreference {
id: data(path: "id")
name: data(path: "name")
country: data(path: "addresses[0].country")
city: data(path: "addresses[0].city")
types: data(path: "types")
}
}
}
仅供参考,以上产生的结果:
{
"data": {
"orgs": [
{
"gridreference": {
"id": "grid.458347.9",
"name": "Austrian Development Agency",
"country": "Austria",
"city": "Vienna",
"types": [
"Government"
]
}
}
]
}
}
为什么不可能做这样的事情:
query orgs($limit: Int = 10, $grid_country: String = "Austria") {
orgs: research_db_fundingorganization(limit: $limit, where: {gridreference: {country: {_eq: $grid_country}}}) {
gridreference {
id: data(path: "id")
name: data(path: "name")
country: data(path: "addresses[0].country")
city: data(path: "addresses[0].city")
types: data(path: "types")
}
}
}
解决方案
推荐阅读
- wordpress - Woocommerce 产品类别模板
- swift - “尚未配置默认的 Firebase 应用程序” - Swift
- python - Python程序在UI操作后等待并继续
- python - python请求无法下载zip文件,而浏览器/硒可以
- regex - 如何使用正则表达式实现多行模式
- ios - Axios 不在 iphone safari 或 chrome 应用程序上发送 post requset
- r - 删除 ggplot2 中 geom_raster 中的特定轴刻度
- python - For循环生成序列
- docker - docker-compose:使用 Dockerfile 中卷中的文件
- tensorflow - 如何在 TensorFlow Eager Execution API 中逐个向量获取雅可比矩阵形式的导数?