Я пытаюсь реализовать решение, требующее много-многократных отношений между сущностями, где один представляет договор между владельцем и пользователем, управляющим тем, что ему разрешено видеть.
Сценарий таков, что человеку принадлежитфайлы.Пользователь хочет использовать эти файлы.но чтобы иметь возможность использовать файлы, пользователь должен подписать контракт с владельцем, в котором указано, какие из файлов пользователю разрешено отображать.
В настоящее время, как я это делаю, это из личности пользователяЯ извлекаю все контракты, и из этого я объединяю все идентификаторы файлов в массив и извлекаю все файлы, включенные в массив.
В настоящее время происходит то, что реализация расширяется и начинаетстановится медленным для определенного пользователя, у которого есть тысячи контрактов.
Я также боюсь, что решение в конечном итоге уменьшится в памяти, поскольку мне придется сохранять массив в памяти во время агрегации.
user:
name: xyz
contract:
users: [xyz],
owner: 123,
files: [file1, file2, etc...]
files:
name: file1,
owner: 123
Так что, где я застрял сейчас, пытается выяснить, куда идти.