Shopify Graphql - 获取所有产品元字段

问题描述 投票:0回答:1

我正在尝试使用 nextJS 和 shopify API 实现自定义店面。 我需要实现的功能之一是自定义目录过滤系统,我想使用元字段来处理它。

所以基本上我确实想以最有效的方式使用 GraphQL Shopify Admin API 获取所有产品元字段。

我确实知道 Shopify 告诉我这个查询太大而无法处理,但我认为这是一个相当简单的查询。我正在尝试寻找不需要一一查询所有产品的替代解决方案。

有什么想法吗?

这就是我所做的:

为了开始解决此任务,我很难理解为什么我不能使用此 ADMIN api 查询获取所有产品元字段:

query GetProductsMetafields {
  products(first: 20) {
    nodes {
      id
      metafields(first: 15) {
        nodes {
          id
          key
          value
          namespace
        }
      }
    }
  }
}

给出的回复如下:

{
  "errors": [
    {
      "message": "Query cost is 2702, which exceeds the single query max cost limit (1000).\n\nSee https://shopify.dev/concepts/about-apis/rate-limits for more information on how the\ncost of a query is calculated.\n\nTo query larger amounts of data with fewer limits, bulk operations should be used instead.\nSee https://shopify.dev/api/usage/bulk-operations/queries for usage details.\n",
      "extensions": {
        "code": "MAX_COST_EXCEEDED",
        "cost": 2702,
        "maxCost": 1000,
        "documentation": "https://shopify.dev/api/usage/rate-limits"
      }
    }
  ]
}

文档中有更多信息 但它没有显示如何获取所有产品元字段。

next.js graphql shopify
1个回答
0
投票
一种有效的方法是将产品/元字段(或任何数据)存储在由您的应用程序管理的数据库上,然后在其上构建您的过滤系统。

您的数据库可以通过订阅产品网络钩子并定期使用bulkOperations 获取最新数据来保持最新

此外,

CollectionSmartCollection资源也可能很有趣

© www.soinside.com 2019 - 2024. All rights reserved.