graphql - 使用突变查询 - 创建一个嵌套的对象

graphql - 使用突变查询 - 创建一个嵌套的对象

问题描述:

我有一个非常简单的模型与post嵌入几个commentsgraphql - 使用突变查询 - 创建一个嵌套的对象

我不知道我应该怎么办突变为一个新的comment添加到post

正如我已经查询定义找回与给定id一个post,我想尝试有以下突变语法工作

mutation { 
    post(id: "57334cdcb6d7fb172d4680bb") { 
    addComment(data: { 
     text: "test comment" 
    }) 
    } 
} 

但我似乎无法找到使其工作的方法。即使我处于突变状态,输出类型为post,addComment被视为post应具有的字段。

你们有什么想法吗?

感谢

+0

你的服务器端突变是怎么样的? –

我可能是错的,但你可能只想创建一个单独的updatePost突变接受的帖子ID作为参数

type Post { 
    comments: [ Comment ] 
} 

input PostInput { 
    comments: [ CommentInput ] 
} 

type Mutation { 
    updatePost(id: ID!, input: PostInput): Post 
} 

这里的updatePost突变发生的标识发布和更新后的对象作为参数并返回一个Post类型。 所以我会用这个像这样:

mutation { 
    updatePost(id: '1234', input: { comments: []) { 
    id 
    } 
} 

希望这有助于!

+0

其实这并不完全是我想要的,因为你所提出的建议将会取代你提供的任何评论。 我需要的是一种使用突变内现有的其他突变的方法。 还是谢谢! –

也许你可以创建addComment突变,你传递职位ID,然后返回一个职位。

type Mutation { 
    addComment(postId: ID!, input: CommentInput): Post 
}