deleteMany无参数Mutation对应的Apollo GraphQL Schema正确语法是什么?
正确Schema写法
方案1(无需修改现有Resolver)
你当前的Resolver直接返回prisma deleteMany的完整返回结果(包含count字段的对象),对应Schema定义如下:
# 先定义批量删除操作的返回结构 type BatchDeletePayload { count: Int! } type Mutation { removeAllMovies: BatchDeletePayload! }
方案2(简化返回类型,需调整Resolver)
如果你只需要返回删除的条数,不需要外层包裹对象,可以调整Resolver:
removeAllMovies: async () => { const result = await prisma.movie.deleteMany({}); return result.count; },
对应Schema写法:
type Mutation { removeAllMovies: Int! }
你之前报错的原因
- 语法报错
Syntax Error: Expected Name, found ")":GraphQL 字段如果没有入参,不需要写空括号(),空括号属于无效语法 - 规则要求:GraphQL 所有字段必须明确声明返回类型,不允许不写返回值定义
内容的提问来源于stack exchange,提问作者Peter Boomsma
相关产品推荐
相关产品推荐

