如何使用 GraphQL 更新数据
How to update data with GraphQL
我正在学习graphql
我可以使用查询从我的 mongo 数据库中检索数据,我可以使用突变创建数据。
但是如何修改现有数据?
我在这里有点迷路...
我必须创建一个新的突变?
是的,每个突变都描述了可以对一些数据执行的特定操作。 GraphQL 不像 REST - 它没有指定任何标准的 CRUD 类型操作。
当你写一个突变来更新一些数据时,你有两个选择。让我们在具有 completed
状态和 text
字段的待办事项的上下文中解释它们:
- 编写表示语义动作的突变 -
markTodoCompleted
、updateTodoText
等
- 编写一个仅设置传递给它的任何属性的通用突变,您可以将其命名为
updateTodo
。
我更喜欢第一种方式,因为它更清楚客户端在调用某个mutation时在做什么。在第二种方法中,您需要小心验证要设置的值,以确保有人不能设置一些无效的组合。
简而言之,您需要定义自己的突变来更新数据。
我正在学习graphql
我可以使用查询从我的 mongo 数据库中检索数据,我可以使用突变创建数据。
但是如何修改现有数据?
我在这里有点迷路...
我必须创建一个新的突变?
是的,每个突变都描述了可以对一些数据执行的特定操作。 GraphQL 不像 REST - 它没有指定任何标准的 CRUD 类型操作。
当你写一个突变来更新一些数据时,你有两个选择。让我们在具有 completed
状态和 text
字段的待办事项的上下文中解释它们:
- 编写表示语义动作的突变 -
markTodoCompleted
、updateTodoText
等 - 编写一个仅设置传递给它的任何属性的通用突变,您可以将其命名为
updateTodo
。
我更喜欢第一种方式,因为它更清楚客户端在调用某个mutation时在做什么。在第二种方法中,您需要小心验证要设置的值,以确保有人不能设置一些无效的组合。
简而言之,您需要定义自己的突变来更新数据。