我正在学习graphql。
我可以通过查询从我的mongo数据库中检索数据,我可以使用突变创建数据。
但我如何修改现有数据?
我在这里有点迷失......
我必须创建一个新的突变?
答案 0 :(得分:9)
是的,每个变异都描述了可以对一些数据进行的特定操作。 GraphQL与REST不同 - 它没有指定任何标准的CRUD类型的动作。
当您编写变异来更新某些数据时,您有两种选择。让我们在具有completed
状态和text
字段的待办事项的上下文中解释它们:
markTodoCompleted
,updateTodoText
等updateTodo
。我更喜欢第一种方法,因为它更清楚了客户端在调用某个突变时所做的事情。在第二种方法中,您需要小心验证要设置的值,以确保某人无法设置某些无效组合。
简而言之,您需要定义自己的突变以更新数据。