2016-05-12 89 views
5

我有一個非常簡單的模型與post嵌入幾個commentsgraphql - 使用突變查詢 - 創建一個嵌套的對象

我不知道我應該怎麼辦突變爲一個新的comment添加到post

正如我已經查詢定義找回與給定id一個post,我想嘗試有以下突變語法工作

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

但我似乎無法找到使其工作的方法。即使我處於突變狀態,輸出類型爲post,addComment被視爲post應具有的字段。

你們有什麼想法嗎?

感謝

+0

你的服務器端突變是怎麼樣的? –

回答

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

其實這並不完全是我想要的,因爲你所提出的建議將會取代你提供的任何評論。 我需要的是一種使用突變內現有的其他突變的方法。 還是謝謝! –

0

也許你可以創建addComment突變,你傳遞職位ID,然後返回一個職位。

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