MongoDB: реляционные данные, которые используются только в одном контексте? (Коллекция против схемы) - PullRequest
0 голосов
/ 04 сентября 2018

У меня есть несколько человек, сохраненных в моей базе данных. Иногда команды формируются, и мне нужно добавить несколько человек в команду. У некоторых людей не будет никакой команды.

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

      people: [
      {
        name: "Jack",
        team: team_id_1,
      },
      {
        name: "John",
        team: null,
      }, 
      {
        name: "Jane",
        team: team_id_1,
      }, 
      ...
      ],

      teams: [
      {
        team_id: team_id_1
        color: "red",
      },
      ...
      ]

Однако я не знаю, как теперь я могу создать такого рода отношения в Монго, и назначаю team_id для каждого из объектов-людей , не являясь коллекцией .

Кто-то здесь предложил Define user's team as a reference to team's collection and then populating it. - но, как я понимаю, это означает создание отдельной модели для моей команды и превращение команды в отдельную коллекцию. Я бы предпочел не делать этого, так как мне никогда не понадобится доступ к этой коллекции напрямую и я не хочу проходить через одну огромную коллекцию команд, если мне когда-либо понадобится доступ только к трем командам, и я могу легко хранить их в соответствующем объекте. .

Что бы вы посоветовали мне сделать? Это неправильный подход?

...