Как правильно отобразить отношения с несвязанными отношениями многие ко многим в nosql - PullRequest
0 голосов
/ 19 сентября 2019

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

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

В настоящее время, как я это делаю, это из личности пользователяЯ извлекаю все контракты, и из этого я объединяю все идентификаторы файлов в массив и извлекаю все файлы, включенные в массив.

В настоящее время происходит то, что реализация расширяется и начинаетстановится медленным для определенного пользователя, у которого есть тысячи контрактов.

Я также боюсь, что решение в конечном итоге уменьшится в памяти, поскольку мне придется сохранять массив в памяти во время агрегации.

user:
    name: xyz

contract:
    users: [xyz],
    owner: 123,
    files: [file1, file2, etc...]

files:
    name: file1,
    owner: 123

Так что, где я застрял сейчас, пытается выяснить, куда идти.

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