我们应该如何在Apollo GraphQL中设置ManyToMany关系

时间:2019-04-21 08:57:27

标签: graphql apollo

我想在NotificationUser(收件人)之间建立一个ManyToMany关系。

因此,我必须understood创建一个中间类型,该类型将类似于NotificationRecipients。

但是我该怎么办?

是不是

Notification OneToMany <---> ManyToOne NotificationRecipients ManyToOne <---> OneToMany User

这在apollo的文档中没有任何解释。这听起来并不好,因为到处应该都是ManyToMany关系...

是否有@ManyToMany指令?

1 个答案:

答案 0 :(得分:0)

“关系”在GraphQL中并不是真正的一流术语。如果Notification有很多用户,您只需要这样说,反之亦然

type Notification {
  users: [User!]!
}
type User {
  notifications: [Notification!]!
}

作为链接的问题注释的答案,如果合适,您可以在此处使用“中继”连接模式。

实际上,这取决于您(在您的解析器功能中)或您使用的数据库胶合层。 GraphQL只是在这里定义了一个API,它并不严格地依赖于您的数据库布局。