首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >GraphQL:可以搜索嵌套字段吗?

GraphQL:可以搜索嵌套字段吗?
EN

Stack Overflow用户
提问于 2018-11-08 22:42:32
回答 2查看 2K关注 0票数 2

我特别使用shopify graphql管理api来查询订单。

我想搜索一个嵌套的相关字段。

下面是我的问题。

代码语言:javascript
复制
export const orderHistoryQuery = gql`
  query Order($productsFirst: Int!, $productsAfter: String, $filterQuery: String) {
    orders(first: $productsFirst, after: $productsAfter, reverse: true, query:$filterQuery) {
      edges {
        cursor
        node {
          id
          name
          customer {
            id
            metafields(first: 10) {
              edges {
                node {
                  id
                  key
                  value
                  namespace
                }
                cursor
              }
            }
          }
          totalPriceSet {
            shopMoney {
              amount
              currencyCode
            }
          }
          subtotalPriceSet {
            shopMoney {
              amount
              currencyCode
            }
          }
          totalRefundedSet {
            shopMoney {
              amount
              currencyCode
            }
          }
          currencyCode
          email
          phone
          processedAt
          totalShippingPriceSet {
            shopMoney {
              amount
              currencyCode
            }
          }
          totalTaxSet {
            shopMoney {
              amount
              currencyCode
            }
          }
          shippingAddress {
            firstName
            lastName
            address1
            address2
            city
            province
            zip
            country
          }
          billingAddress {
            firstName
            lastName
            address1
            address2
            city
            province
            zip
            country
          }
          customAttributes {
            key
            value
          }
        }
      }
    }
  }
`;

我想真正地查询元字段或任何东西,但它似乎不受支持。我不确定我是有错误的查询语法,还是不支持它。shopify搜索语法文档化并没有真正的帮助,这就是我对graphql的知识崩溃的地方。

在graphql中可以这样做吗?我还尝试添加元字段(id:$whateverID),它们的设置不支持元字段。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-11-09 15:12:10

不幸的是,Shopify不支持metafields上的查询过滤器。解决这个问题的最好方法是使用像GraphiQL这样的graphql。如果您转到Apps > Shopify GraphiQL应用程序,Shopify仪表板就内置了这个功能。

使用GraphiQL,您可以看到:

  1. 客户查询不支持元字段:

  1. 订单查询不支持客户或元字段:

  1. 而且客户上的元字段没有查询参数:

我认为您的选项是按所能进行查询并在得到结果后进行筛选,或者使用客户标记和按标记进行查询。

票数 3
EN

Stack Overflow用户

发布于 2018-11-08 23:00:36

你会通过简化事情来帮助你的事业。我给你的建议是尝试一个简单的查询。你能接到命令吗?由于订单有客户(通常但不总是),您能得到一个与该客户相关的元字段吗?

在试图展示你想做什么的过程中,你遇到了太多的障碍,就好像你想要在调试任何东西时头痛。从GraphQL网站的角度来看,对端点的GraphQL调用已经被很好地记录下来了,而Shopify不过是一个普通的实现,但需要注意的是,它们会根据复杂性向您收费,所以最好是监视您的学分。

所以你试试简单的电话。得到一个产品,这就是Metafield。获取客户记录,然后是Metafield。如果您能够做到这一点,您就不会对文档和GraphQL查询的概念产生太大的挑战。一旦基本all工作,您可以在变量、游标、分页等中工作.但是,在一次性电话给你想要的东西之前,调试应该集中在最简单的调用上,而不是所有的东西和厨房的水槽。

另外,当您搞砸了对端点的调用时,Shopify通常会返回一个响应,其中包含您在哪里出错的详细信息,从而为您提供了第一个可以查看的位置。我们没有看到你的反应,所以没有什么可以继续帮助你。

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

https://stackoverflow.com/questions/53217252

复制
相关文章

相似问题

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