Как мы предполагаем установить отношение ManyToMany в Apollo GraphQL?

Я хочу иметь отношение ManyToMany между Notification и User (получателями).

Итак, из того, что я понял, вы должны создать промежуточный тип, который будет чем-то вроде NotificationRecipients.

Однако какое отношение я должен сделать?

Это что-то вроде

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

Это нигде не объясняется в документации по аполлону. И это звучит нехорошо, поскольку везде должно быть отношение ManyToMany...

Есть ли директива @ManyToMany?

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Что такое Apollo Client и зачем он нужен?
Что такое Apollo Client и зачем он нужен?
Apollo Client - это полнофункциональный клиент GraphQL для JavaScript-приложений, который упрощает получение, управление и обновление данных в...
0
0
231
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

«Отношение» на самом деле не является первоклассным термином в GraphQL. Если у уведомления много пользователей, вы просто скажете это, и наоборот

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

В качестве ответа на связанные примечания к вопросу вы можете использовать здесь шаблон подключения Relay, если он вам подходит.

На самом деле реализация этого зависит от вас (в вашей функции распознавателя) или от клеевого слоя базы данных, который вы используете. GraphQL просто определяет здесь API, и он не привязан жестко к макету вашей базы данных.

Другие вопросы по теме