Как передать идентификатор объекта в коллекции как свойство в другой коллекции в mongodb - PullRequest
0 голосов
/ 26 мая 2020

Я создал блог с nodejs, express и e js с настройкой входа и регистрации с паспортом для аутентификации. Я просто хочу дать пользователям возможность защитить свои сообщения, то есть разрешить только им редактировать и удалять свои сообщения. Найти способ сделать это с помощью mongodb было довольно неприятно, потому что я не нашел окончательного способа сделать это при поиске в Интернете.

Я наткнулся на видео на YouTube, в котором может быть решение:


module.exports = {
    ROLE: ROLE,
    users: [
        { id: 1, name: 'Kyle', role: ROLE.ADMIN },
        { id: 2, name: 'Sally', role: ROLE.BASIC },
        { id: 3, name: 'Joe', role: ROLE.BASIC }

    ],
    projects: [
        { id: 1, name: "Kyle's project", userId: 1 },
        { id: 2, name: "Sally's Project", userId: 2 },
        { id: 3, name: "Joe's project", userId: 3 }
    ]
}

Его logi c был основан на сопоставлении свойства id коллекции пользователей со свойством userId коллекции проектов, что означает, что userId должен быть таким же, как свойство id в коллекции users.

Есть ли способ установить свойство, называемое userid, в моей модели блога равным идентификатору id моего авторизованного пользователя.

1 Ответ

0 голосов
/ 26 мая 2020

Я бы попробовал использовать метод populate в mon goose. Создание схем User и Post, а затем их связывание путем добавления свойства, которое отсылает владельца сообщения к соответствующему пользователю. Взгляните на документацию!
пн goose заполнение документов

...