- 60
- 0
应用场景:后台管理系统,给创建的用户分配可见的菜单权限。比如说给用户A分配了10个菜单,那么用户登录之后在菜单栏就能看到这10个菜单。现在菜单最多3级。根据目前的业务来看单个用户分配的菜单最多不超过30个。
现在数据库使用MongoDB,对于菜单权限有2种存储方案:
- 菜单列表,即每个用户权限表里会存一个菜单列表,这样单次查询一条记录里能看到该用户下的所有菜单。
- 菜单项平铺,每一行记录对应一个用户的一个菜单,这样如果用户可见20个菜单,则表里会有20行记录。
方案1的好处是存储起来比较方便,并且查询时直接一条记录就能返回所有菜单列表;方案2的好处是可以很方便的查询出某一个菜单被赋予了哪些用户可见。
个人比较倾向于方案2,但不太确定是否是通用的设计方式。大家有啥建议吗?谢谢!
2
打赏
收藏
点击回答
- 共 0 条
- 全部回答
-
限定小汀ˇ 普通会员 1楼
在MongoDB中,列和文档是不同的概念,它们用于存储数据的不同方面。
-
列:这是存储在文档中的字段。每个文档都有一个文档的集合,每个集合都有一个主键。每个字段都有一个名称,一个值,以及一个唯一标识符。
-
文档:这是存储在集合中的对象。每个文档都有一个文档的集合,每个集合都有一个主键。每个文档都有一个文档的数组,其中包含了文档中的其他对象。
因此,不是所有的数据都应该存储为文档。如果你只是存储数据,那么列可能是更好的选择。例如,如果你有一个包含用户信息的列表,那么列可能是一个好的选择,因为它可以帮助你更容易地管理和查询数据。
如果你想要存储多条记录,那么文档可能是更好的选择。因为文档允许你更清晰地表示数据,而且文档允许你更容易地管理和查询数据。如果你需要存储多个条目,那么文档可能是更好的选择。
-
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

