如何在单个GraphQL请求中批量创建Hygraph产品?
在Hygraph中单次GraphQL请求批量创建多个产品
你可以在单个GraphQL mutation请求中,通过为每个创建操作添加别名的方式,同时执行多个createProduct操作来批量创建产品,具体示例如下:
基础批量创建示例
mutation { # 为每个createProduct操作设置唯一别名 product1: createProduct(data: { title: "Face Mask", slug: "face-mask", price: 1000 }) { id title } product2: createProduct(data: { title: "Hand Sanitizer", slug: "hand-sanitizer", price: 500 }) { id title } product3: createProduct(data: { title: "Disinfectant Wipes", slug: "disinfectant-wipes", price: 800 }) { id title } }
关键说明
- 每个
createProduct前的product1、product2是自定义别名,用于区分不同操作的返回结果,别名需保持唯一; - 每个操作独立传入对应产品的
data参数,结构和单个创建请求一致; - 执行后会返回每个操作对应的产品ID和指定字段。
使用变量简化批量请求
如果需要创建的产品数量较多,可以借助GraphQL变量来统一管理产品数据,提升代码可读性:
mutation BatchCreateProducts($productList: [ProductCreateInput!]!) { product1: createProduct(data: $productList[0]) { id title } product2: createProduct(data: $productList[1]) { id title } product3: createProduct(data: $productList[2]) { id title } # 根据实际产品数量添加更多操作 }
对应的变量参数(JSON格式):
{ "productList": [ { "title": "Face Mask", "slug": "face-mask", "price": 1000 }, { "title": "Hand Sanitizer", "slug": "hand-sanitizer", "price": 500 }, { "title": "Disinfectant Wipes", "slug": "disinfectant-wipes", "price": 800 } ] }
Hygraph目前没有专门的批量创建单指令,这种多操作别名的方式是官方支持的合规批量创建方案,只要不超过平台的单请求操作数量限制即可正常使用。
内容的提问来源于stack exchange,提问作者mxcdh
相关产品推荐
相关产品推荐

