MongoDB - получить указанные c документы из коллекции на основе данных из другой коллекции - PullRequest
0 голосов
/ 15 апреля 2020

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

{id: a, name: 'x', accesses: [{itemId: 1, type: 'read'}, {itemId: 2, type: 'write'}, ...]}
{id: b, name: 'y', accesses: [{itemId: 1, type: 'write'}, {itemId: 2, type: 'write'}, ...]}

Далее представьте, что моя коллекция items выглядит следующим образом:

{id: 1, title: 'item1', ...}
{id: 2, title: 'item2', ...}
{id: 3, title: 'item3', ...}

При такой настройке, как бы я go скажем, получение списка элементов user a имеет доступ (независимо от чтения или записи). Это кажется довольно сложным запросом, поэтому, если не существует простого решения, возможно, есть лучший способ спроектировать эту структуру?

...