如何使用AWS AppSync将字段值更新为空列表[]
在AppSync中将GraphQL列表更新为空数组[]的解决方法
问题原因
直接在AppSync控制台的参数输入框里输入[],会被识别成字符串,导致最终存储为["?"]——这是因为控制台默认会把输入内容当作字符串解析,而非JSON数组。
解决方法
1. 使用变量方式(控制台操作推荐)
在AppSync控制台的GraphQL编辑器中分两部分填写:
- Mutation语句:定义带变量的更新操作
mutation UpdateMyModel($input: UpdateMyModelInput!) { updateMyModel(input: $input) { canUpdate } }
- 变量区(Query Variables):传入包含空数组的输入对象
{ "input": { "id": "你的MyModel实例ID", "canUpdate": [] } }
点击执行后,即可将canUpdate字段更新为[]。
2. 直接在Mutation中写死空数组
如果不需要复用变量,也可以直接在Mutation的输入里指定空数组:
mutation { updateMyModel(input: { id: "你的MyModel实例ID", canUpdate: [] }) { canUpdate } }
无需单独填写变量,直接执行就能生效。
3. 代码调用场景
如果是在代码中调用(比如JavaScript/TypeScript),只需在请求的输入参数中直接传递空数组[],不需要做任何字符串转义:
await client.mutate({ mutation: gql` mutation UpdateMyModel($input: UpdateMyModelInput!) { updateMyModel(input: $input) { canUpdate } } `, variables: { input: { id: "你的实例ID", canUpdate: [] } } });
内容的提问来源于stack exchange,提问作者JimmyTheCode
相关产品推荐
相关产品推荐

