在我的graphQL架构中,我有两个对象之间的关系。说人类和猫。
人类有许多猫和猫有一个人。
如果我想创建属于人类的新Cat,我需要通过ID查询人类,然后我需要使用该ID进行突变以创建猫。
我如何将这些链接在一起?这似乎很简单,但无法找到合适的例子。我也很可能以错误的方式思考这个问题。
答案 0 :(得分:0)
我认为将它们链起来并不合理。如果要创建新猫,您需要一个列表,您可以在其中选择要添加猫的人。因此,在发送变异之前,您必须先查询人类。
猫的突变将包含选定的人类ID,过程可能如下所示:
const getAllHumansQuery = gql`
query getAllHumans {
getAllHumans {
id
name
}
}
`;
在客户端上选择人类构建表单
发送创建新的猫突变
// server
`
input CatInput {
name: String!
humanIds: [ID!]
}
createCat(newCat: CatInput!) : String
`
// client
const createCatMutation = gql `
mutation createCat($newCat: CatInput!) {
createCat(newCat: $newCat) {
name
}
}
`;