Relationiship в монго - PullRequest
       87

Relationiship в монго

0 голосов
/ 18 июня 2020

Я новичок в пн go. При создании приложения я столкнулся со странным требованием. У меня есть коллекция Document и UserData . Схема для обоих приведена ниже.

Document {
    data : String , 
    id : number,
    lockedBy : Users
}


Users{
    name : String, 
    email : String,
    id : String
}

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

Проблема в том, что я не хочу сохранять все пользовательские данные в документе, так как это создаст много избыточных данных. Я хочу сохранить идентификатор пользователя.

Но со стороны пользовательского интерфейса требуется предоставить весь объект пользователя (содержащий идентификатор, имя, адрес электронной почты) в качестве значения lockedBy.

Что я делаю, так это сохраняю файл lockedBy как строку с идентификатором пользователя. Затем при извлечении я заменяю lockedBy пользовательскими данными, выполняя еще один вызов базы данных и получая пользовательские данные на основе идентификатора.

С увеличением количества выборки и сохранения api мне приходится выполнять преобразование во многих местах. Есть ли другой способ сделать это. Если мне не нужно писать код преобразования для lockedBy, чтобы изменить, это строка в UserData и наоборот.

1 Ответ

0 голосов
/ 10 июля 2020

сохранить user_id в схеме,

при отправке объекта ответа добавить в него пользователей, извлекая его из базы данных.

...