Два поля идентификатора в одной коллекции - PullRequest
0 голосов
/ 17 мая 2018

Я хотел бы понять, как сделать следующее при вставке новой коллекции в MongoDB.

Как вы понимаете, новый ObjectID генерируется для каждой записи (с использованием здесь терминологии SQL), вставленной в коллекцию - вам не нужно указывать поле ID.

Теперь у меня уже есть коллекция профилей пользователей, и я хочу создать коллекцию пользовательских рейтингов, где пользователи форума оценивают других пользователей форума.

Коллекция будет включать оценку (1-5), но я также хочу указать поле идентификатора для пользователя, которому присвоен рейтинг ('User_Rated_ID', и человека, который оценивает его ('User_Rater').

Здесь я немного запутался, поскольку для каждой новой записи в коллекции профилей пользователей будет генерироваться уникальный идентификатор объекта. Следует ли использовать идентификаторы, сгенерированные из этой коллекции, когда я хочу вставить новую запись в коллекцию «Рейтинг пользователей»?

1 Ответ

0 голосов
/ 17 мая 2018

Есть разные способы сделать это в зависимости от пути доступа к вашим данным, но если рассматривать это в реляционном смысле, ваша коллекция UserRating будет иметь три идентификатора: суррогатный идентификатор, идентифицирующий документ, raterId, _id из User, который соответствует пользователю, который сделал оценку, и ratedId, _id из User, который соответствует пользователю, который получил оценку.

Это позволит вам запрашивать рейтинги, которые соответствуют пользователю или оценщику по их _id.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...