如何使用GraphQL删除多个项目?

Muk*_*Aji 5 datatables mutation graphql

我是GraphQL的新手.如何在GraphQL中编写删除突变以删除多个项目(多个ID)?我用scaphold.io.

mar*_*ani 12

您可以使用GraphQL别名将同一请求中的多个突变批处理到GraphQL服务器.

假设这是删除一个项目的方法:

mutation deleteOne {
  deleteItem(id: "id1") {
    id
  }
}
Run Code Online (Sandbox Code Playgroud)

这就是你可以在一个请求中删除多个项目的方法:

mutation deleteMultiple {
  id1: deleteItem(id: "id1") {
    id
  }
  id2: deleteItem(id: "id2") {
    id
  }
  # ... and so on
  id100: deleteItem(id: "id100") {
    id
  }
}
Run Code Online (Sandbox Code Playgroud)

知道一个请求中的多个突变以所述顺序(从上到下)顺序运行是有帮助的.您也可以以相同的方式在一个请求中运行多个查询,并且在一个请求中的多个查询在parellel中运行.

如果你想运行说1000个突变,最好将它们分成10组,每组100个.

更多信息和另一个示例可以在此FAQ文章以及官方GraphQL文档中找到.