如何通过Shopify的bulkOperationRunQuery批量查询metaobjects
Shopify批量查询Metaobjects的正确方式
首先明确:bulkOperationRunQuery完全支持metaobjects的批量查询,你之前的问题是因为批量查询的语法和普通GraphQL查询有细微差异,需要按Shopify批量操作的规范调整。
正确的批量查询写法
你需要将目标查询嵌套在bulkOperationRunQuery的query参数中,并且要确保查询结构符合批量操作的要求(比如明确展开需要的字段,不能依赖普通查询的简写)。以下是针对你需求的完整mutation示例:
mutation RunBulkMetaobjectQuery { bulkOperationRunQuery( query: """ { metaobjects(type: "car") { nodes { id field(key: "identifier") { key value } } } } """ ) { bulkOperation { id status } userErrors { field message } } }
关键注意事项
- 批量查询的内容需要用三重引号(
""")包裹,作为字符串传入query参数 - 必须包含
id字段(Shopify批量操作要求每个节点都要有唯一标识),否则会报错 - 字段层级要明确展开,不能省略必要的嵌套结构
执行后的后续操作
提交这个mutation后,你需要通过轮询bulkOperation的状态,直到它变为COMPLETED,然后通过返回的url下载CSV/JSON格式的结果文件,里面会包含所有符合条件的car类型metaobjects的identifier字段值。
内容的提问来源于stack exchange,提问作者Tom - Lunabee.com
相关产品推荐
相关产品推荐

