【问题标题】:Getting key:value pairs from Shopify Graphql query response using Node js使用 Node js 从 Shopify Graphql 查询响应中获取键:值对
【发布时间】:2021-12-20 21:28:05
【问题描述】:

这是我的 Graphql 查询

      const gqlQuery = `query ($lastCursor: String) {
    products(first:100, after: $lastCursor) {
      pageInfo {
        hasNextPage
        hasPreviousPage
      }
    edges {
      cursor
      node {
        variants(first:2) {
          edges {
            node {
              sku
              inventoryQuantity
            }
          }
        }
      }
    }
  }
}`

我在 do/while hasNextPage = true 循环中调用它以获取 Shopify 商店中每个产品的一对键:值对

  const data = await shopifyGraphqlClient.graphql(gqlQuery, variable);

当我使用 res.send 将它们转储到浏览器时,结果如下所示:

    undefined{"products":{"pageInfo":{"hasNextPage":true,"hasPreviousPage":false},"edges":[{"cursor":"eyJsYXN0X2lkIjo3NTk4MjYxMTMsImxhc3RfdmFsdWUiOiI3NTk4MjYxMTMifQ==","node":{"variants":{"edges":[{"node":{"sku":"isa-asl-26x22","inventoryQuantity":10}}]}}},{"cursor":"eyJsYXN0X2lkIjoxMDU0MDQ5MTUzLCJsYXN0X3ZhbHVlIjoiMTA1NDA0OTE1MyJ9","node":{"variants":{"edges":[{"node":{"sku":"Sien-asl-73x49","inventoryQuantity":11}}]}}},{"cursor":"eyJsYXN0X2lkIjoxMDU0MjA3NDg5LCJsYXN0X3ZhbHVlIjoiMTA1NDIwNzQ4OSJ9","node":{"variants":{"edges":[{"node":{"sku":"Sien-vwh-73x49","inventoryQuantity":11}}]}}},{"cursor":"eyJsYXN0X2lkIjo0MDc0NzkwMzQzLCJsYXN0X3ZhbHVlIjoiNDA3NDc5MDM0MyJ9","node":{"variants":{"edges":[{"node":{"sku":"ren-dwh-36","inventoryQuantity":4}}]}}},{"cursor":"eyJsYXN0X2lkIjo0MDg5ODM1ODQ3LCJsYXN0X3ZhbHVlIjoiNDA4OTgzNTg0NyJ9","node":{"variants":{"edges":[{"node":{"sku":"ara-dwh-56x32","inventoryQuantity":7}}]}}},{"cursor":"eyJsYXN0X2lkIjo0MDg5ODg3NTU5LCJsYXN0X3ZhbHVlIjoiNDA4OTg4NzU1OSJ9","node":{"variants":{"edges":[{"node":{"sku":"Pro-dwh-32x24","inventoryQuantity":23}}]}}},{"cursor":"eyJsYXN0X2lkIjo0MDg5ODk1MTc1LCJsYXN0X3ZhbHVlIjoiNDA4OTg5NTE3NSJ9","node":{"variants":{"edges":[{"node":{"sku":"Pro-dwh-40x28","inventoryQuantity":7}}]}}}...

等等。

我只想要“sku”和“inventoryQuantity”字段,如何将它们隔离到 JSON 格式文件中,当我问的时候,知道“未定义”来自哪里吗?

【问题讨论】:

    标签: node.js graphql shopify


    【解决方案1】:

    您可以使用批量查询来获取所有产品。检查该功能。好处是,您可以获取 JSON 格式的数据。因此,您无需为基于光标的方法而烦恼,只需批量下载库存。

    【讨论】:

    • 我已经阅读了批量操作方法,但我是 Graphql 的菜鸟,并且对 Node/JavaScript 不是很有经验。我使用分页获得的结果花了我将近 2 周的时间才弄明白,批量方法太混乱了,我找不到任何编码示例或教程的方式。我有点讨厌把已经完成的艰苦工作搁置一旁,重新开始挣扎。无论如何,谢谢,我很感激您的意见。
    • 坚持下去。批量下载比您的方法容易得多。您正在浪费零努力切换,因为您的方法绝对是最难的,而且不会变得更容易。事实上,要使您的方法奏效,您可能会面临数周的痛苦!
    • 谢谢你的鼓励,我有预感你会这么说!好的,我将尝试使用批量操作方法,您知道任何代码示例或教程可能会为我指明正确的道路吗? Shopify API 文档对于新手来说非常粗略。
    • 我的工作不使用 Javascript,我使用 Ruby,所以这对你没有帮助。我相信那里有很多 JS'ers 可以帮助你。试试论坛。他们现在有些人在使用 JS。
    猜你喜欢
    • 2019-04-06
    • 1970-01-01
    • 2021-02-21
    • 1970-01-01
    • 1970-01-01
    • 2021-10-02
    • 2017-07-31
    • 1970-01-01
    • 2018-08-04
    相关资源
    最近更新 更多