Graphcool/GraphQL创建关系变异

Rya*_*ing 5 graphql graphcool

我有以下GraphQL架构.它BooksAuthors一个多对多的关系.如何为现有作者创建新的Book变异?


模式

type Author implements Node {
  books: [Book!]! @relation(name: "BookAuthors")
  createdAt: DateTime!
  id: ID! @isUnique
  name: String!
  updatedAt: DateTime!
}

type Book implements Node {
  authors: [Author!]! @relation(name: "BookAuthors")
  createdAt: DateTime!
  id: ID! @isUnique
  title: String!
  updatedAt: DateTime!
}
Run Code Online (Sandbox Code Playgroud)

突变

mutation CreateBook($title: String!, $authors: [Author!]) {
    createBook(
      title: $title,
      authors: $authors,
    ) {
      id
      title
    }
  }
Run Code Online (Sandbox Code Playgroud)

变量

{
  "title": "Ryans Book",
  "authors": ["cj5xti3kk0v080160yhwrbdw1"]
}
Run Code Online (Sandbox Code Playgroud)

Rya*_*ing 7

这显然被称为"连接突变". https://www.graph.cool/docs/reference/simple-api/nested-connect-mutations-tu9ohwa1ui/

mutation CreateBook($title: String!, $authorIds: [ID!]) {
    createBook(
      title: $title,
      authorIds: $authorIds,
    ) {
      id
      title
    }
  }
Run Code Online (Sandbox Code Playgroud)