使用GraphQL进行Shopify SKU查找

使用GraphQL进行Shopify SKU查找,graphql,shopify,sku,Graphql,Shopify,Sku,我一直在使用一个问题,但今天我注意到并提出了一个问题 SKU似乎正在搜索通配符,而不仅仅是SKU字段。 我怀疑它是我查询的格式,好像我稍微修改一下就可以使它正常工作 GraphQL查询: query ($first: Int, $sku: String) { productVariants(first: $first, query: $sku) { edges { node { title id sku prod

我一直在使用一个问题,但今天我注意到并提出了一个问题 SKU似乎正在搜索通配符,而不仅仅是SKU字段。 我怀疑它是我查询的格式,好像我稍微修改一下就可以使它正常工作

GraphQL查询:

query ($first: Int, $sku: String)
{ productVariants(first: $first, query: $sku) {
    edges {
      node {
        title
        id
        sku
        product {
          title
        }
        inventoryItem {
          id
          inventoryLevels(first: 3) {
            edges {
              node {
                id
                available
                location {
                  id
                  name
                  address {
                    city
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}
变数

{
  "first": 5,  
  "sku": "555"
}
因此,当搜索555 SKU时,它实际上返回的产品在body_html中包含555

如果我编辑查询以嵌入SKU,那么它可以工作,但我需要将其与变量一起使用,可能是我的查询格式不好

按如下方式编辑查询,以将sku嵌入到查询中,并正常工作

query ($first: Int)
{ productVariants(first: $first, query: "sku:555") {
    edges {
      node {
        title
        id
        sku
        product {
          title
        }
        inventoryItem {
          id
          inventoryLevels(first: 3) {
            edges {
              node {
                id
                available
                location {
                  id
                  name
                  address {
                    city
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}
如何格式化它,使其显示如下:

 query: "sku:"$sku

我通过编辑变量(基本上是捏造它以包含sku:)来解决这个问题,不确定是否有正确的方法。{“first”:5,“sku”:“sku:555”}正确的形式是query:“sku:'somesku”“”,因此请注意,实际sku字符串的变量用单引号括起来,以区别于外部双引号。