问题描述
我正在使用 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"
}
解决方法
简单使用:
connectionString
query MyQuery {
mKT(data: {filter: {name: {eq: "Apple"}}}) {
data {
name
description
}
}
}
关键字应该可以解决问题。
查看 GraphQL Reference (in Gatsby docs) 了解更多详情。
,我相信这与以下情况相同:
GraphQL query to access first item in an array?
如果结构未在源中定义,则不能对其使用过滤器、限制等。
如果您有权访问源,请在字段数据中添加类似 limit
的内容。
如果没有,你会得到完整的数组,你必须自己处理。