我的mongo数据库中有不同类型的用户(管理员,员工,用户),我想问一下处理这种情况的最佳策略是什么。 1)我应该使用mongoose schema extend所以我只能查询一种模式类型(例如在注册时)? 2)我应该自己处理每个用户类型吗? 3)你会推荐更好的解决方案吗? 4)您是否会在db或配置文件中保存每个用户类型的权限?
我想问题是基本的,但由于我在这个领域没有任何经验,我很高兴能从你们那里得到一些好的建议:)
答案 0 :(得分:0)
这取决于你想做什么。
如果用户可以拥有不同的属性集,我建议每个用户类型使用一个单独的模型,并将每个用户类型的数据库拆分为不同的集合。我没有mongoose架构扩展的经验,所以我无法对此发表评论,但似乎是针对这种情况。
如果您还需要考虑角色,并且想要存储在数据库中(例如,为了便于配置和稍后更改),也许您应该查看关系数据库,因为在这种情况下你在谈论关系(用户和角色之间),MongoDB并不是最好的选择。
如果您不需要在数据库中存储用户角色(例如,如果它们在您的应用程序中被硬编码)并且您的用户没有不同的属性,则只需添加{{1} }属性到您的用户模型,只需在您的应用程序中检查它所需的值。
免责声明:我不是MongoDB专家,这只是我自己的经验:)