我正在使用 GatsBy GraphiQL 编写查询以返回单个元素,但该查询返回所有元素。 这是我的测试数据:
{
"data": {
"mKT": {
"data": [
{
"name": "Apple",
"description": "apple's desc"
},
{
"name": "Orange",
"description": "orange's desc"
},
{
"name": "Banana",
"description": "banana's desc"
}
]
}
},
"extensions": {}
}
而且,这是 GraphQL 查询:
query MyQuery {
mKT(data: {elemMatch: {name: {eq: "Apple"}}}) {
data {
name
description
}
}
}
我希望得到:
{
"name": "Apple",
"description": "apple's desc"
}
但是,运行查询会返回所有数据。 知道如何解决这个问题吗?
答案 0 :(得分:0)
简单使用:
connectionString
query MyQuery {
mKT(data: {filter: {name: {eq: "Apple"}}}) {
data {
name
description
}
}
}
关键字应该可以解决问题。
查看 GraphQL Reference (in Gatsby docs) 了解更多详情。
答案 1 :(得分:0)
我相信这与以下情况相同:
GraphQL query to access first item in an array?
如果结构未在源中定义,则不能对其使用过滤器、限制等。
如果您有权访问源,请在字段数据中添加类似 limit
的内容。
如果没有,你会得到完整的数组,你必须自己处理。