首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >GraphQL过滤数组

GraphQL过滤数组
EN

Stack Overflow用户
提问于 2021-05-11 07:12:42
回答 2查看 271关注 0票数 0

我正在使用GatsBy GraphiQL编写一个返回单个元素的查询,但该查询返回所有元素。以下是我的测试数据:

代码语言:javascript
运行
复制
    {
      "data": {
        "mKT": {
          "data": [
            {
              "name": "Apple",
              "description": "apple's desc"
            },
            {
              "name": "Orange",
              "description": "orange's desc"
            },
            {
              "name": "Banana",
              "description": "banana's desc"
            }
          ]
        }
      },
      "extensions": {}
    }

下面是GraphQL查询:

代码语言:javascript
运行
复制
    query MyQuery {
      mKT(data: {elemMatch: {name: {eq: "Apple"}}}) {
        data {
          name
          description
        }
      }
    }

我期望得到:

代码语言:javascript
运行
复制
    {
     "name": "Apple",
     "description": "apple's desc"
    }

但是,运行查询将返回所有数据。你知道怎么解决这个问题吗?

EN

回答 2

Stack Overflow用户

发布于 2021-05-11 12:53:26

只需使用:

代码语言:javascript
运行
复制
query MyQuery {
  mKT(data: {filter: {name: {eq: "Apple"}}}) {
    data {
      name
      description
    }
  }
}

filter关键字应该可以做到这一点。

有关更多详细信息,请查看GraphQL Reference (in Gatsby docs)

票数 0
EN

Stack Overflow用户

发布于 2021-05-11 23:35:13

我相信这是相同的情况:

GraphQL query to access first item in an array?

如果尚未在源上定义结构,则不能对其使用筛选器、限制等。

如果您有权访问该源,请将类似limit的内容添加到字段数据中。

如果不是,您将获得完整的数组,并且您必须在您的一侧处理它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67478678

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档