我正在使用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"
}
但是,运行查询将返回所有数据。你知道怎么解决这个问题吗?
发布于 2021-05-11 12:53:26
只需使用:
query MyQuery {
mKT(data: {filter: {name: {eq: "Apple"}}}) {
data {
name
description
}
}
}
filter
关键字应该可以做到这一点。
有关更多详细信息,请查看GraphQL Reference (in Gatsby docs)。
发布于 2021-05-11 23:35:13
我相信这是相同的情况:
GraphQL query to access first item in an array?
如果尚未在源上定义结构,则不能对其使用筛选器、限制等。
如果您有权访问该源,请将类似limit
的内容添加到字段数据中。
如果不是,您将获得完整的数组,并且您必须在您的一侧处理它。
https://stackoverflow.com/questions/67478678
复制相似问题