MongoDB способ сделать отношения многие ко многим - PullRequest
0 голосов
/ 30 марта 2020

Я знаю, что есть несколько ответов на вопросы, которые задают одну и ту же вещь, но я не удовлетворен ответом.

У меня есть две модели: User и Club

  • a User может "владеть" несколькими клубами
  • a Club может "beOwned" несколькими пользователями
  • это обычная практика, когда клуб должен запрашивать всех своих владельцев и пользователь должен сделать запрос для всех своих клубов

Так что это отношения многие ко многим. В настоящее время у меня есть массив ownedClubs ObjectID в модели User и массив owners ObjectID в модели Club, но я не думаю, что это лучший способ сделать это, потому что теперь есть два места, которые отношение "владелец-владелец" должно быть синхронизировано, и если оно когда-либо выйдет из-под контроля c ( Закон Мерфи ), может быть трудно исправить / поймать.

Если Я решал эту проблему в реляционной базе данных, там была бы справочная таблица, связывающая владельцев с клубами, и обе модели просто запрашивали бы таблицу, но должен быть более простой способ сделать это.

...