我正在尝试将参数传递给读取我的json文件的查询,我已经阅读了很多教程和文档,但是也许我因为缺少用而错过了一些东西。
这是代码
query MyQuery {
allInternacionalJson {
edges {
node {
regiones(id: 1) {
id
region
}
}
}
}
}
但是结果如下
{
"data": {
"allInternacionalJson": {
"edges": [
{
"node": {
"regiones": [
{
"id": 1,
"region": "América del Norte"
},
{
"id": 2,
"region": "América Latina y el Caribe"
},
{
"id": 3,
"region": "Europa"
},
{
"id": 4,
"region": "Asia Pacífico"
},
{
"id": 5,
"region": "Medio Oriente y África"
}
]
}
}
]
}
}
}
我在线查看了“ where”搜索不再可用,并且顶部的过滤器仅适用于过滤节点。
使用该ID,我要尝试仅获取具有该ID的对象。
答案 0 :(得分:0)
过滤器必须放在查询的顶层,在您的情况下为allInternacionalJson
:
query MyQuery {
allInternacionalJson(filter: {regions: {id: {eq: "1"}}}) {
edges {
node {
regiones {
id
region
}
}
}
}
}
注意:如果不需要将id
用于其他用途,则可以查询。无需查询参数即可进行过滤。
基本上,您必须深入每个嵌套对象才能找到参数(id
)并应用过滤规则eq
(等于)。
您可以通过在localhost:8000/___graphql
游乐场中单击来生成和过滤查询,以进行播放和过滤。