GraphQL:是否可以搜索嵌套字段?

标签 graphql shopify

我专门使用shopify graphql admin api 来查询订单。

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

以下是我的查询。

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)。

最佳答案

遗憾的是,Shopify 不支持元字段 上的查询过滤器。解决这个问题的最佳方法是使用 graphql 浏览器,例如 GraphiQL 。如果您转到“应用程序”>“Shopify GraphiQL 应用程序”,Shopify 仪表板会内置此功能。

使用 GraphiQL 您可以看到:

  1. 客户查询不支持元字段: customers query
  2. 订单查询不支持客户或元字段: orders query
  3. 客户的元字段没有查询参数: metafields params

我认为您的选择是要么按您可以查询的内容进行查询并在获得结果后进行过滤,要么使用客户标签并按标签进行查询。

关于GraphQL:是否可以搜索嵌套字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53217252/

相关文章:

javascript - Shopify - 购买免费产品

reactjs - 如何用Apollo Graphql Client和React解决 'TypeError: Cannot read property ' params' of undefined'?

amazon-web-services - 将 AWS Appsync 与 AWS Neptune 结合使用

c# - GraphQL 字段的参数重载

ruby - 使用 ruby​​gem 访问 Shopify API 时出现 SSL_connect 错误

jquery 设置高度等于图像高度大约 50% 的时间有效

css - 在 Shopify liquid 中使用 @font-face 时出现字体文件 404

performance - 与在 Gatsby 页面上使用 graphQL 查询相比,将数据传递给上下文对象是否有任何性能增强?

graphql - 访问解析器映射模板中的请求字段

jquery - 有没有什么方法可以在不使用访问 token /客户端 ID 的情况下获取特定主题标签的 Instagram 图像?