我正在尝试使用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', ...}
使用此设置,我将如何说获得user a
可以访问的项目列表(无论读或写)。这似乎是一个相当复杂的查询,因此,如果没有简单的解决方案,也许有更好的方法来设计此结构吗?