使用MongoDB来分离不同的用户数据

Using MongoDB to separate different user data

本文关键字:用户 用户数 数据 MongoDB 分离 使用      更新时间:2023-09-26

我已经熟悉MongoDB是基于JSON格式的文档的。我正在使用MEAN堆栈创建我的第一个web应用程序,用户可以在这里注册,然后可以登录到后端面板,在那里他们可以实现产品/配置文件信息等。我该如何将其存储在MongoDB上?是否将每个用户存储为一个文档?至于安全原因,我如何才能不允许GET请求获得不同的用户信息?

目前,我只有一组用户和一组产品(每个用户都有唯一的id号),等等,对我来说,这似乎不是存储数据的正确方式。

如果有人能帮助我如何为Mongo设置数据库,那将是非常棒的!提前感谢!

是否将每个用户存储为一个文档?

是的,每个用户都是对象,因此它被存储为一个单独的文档

我如何才能不允许GET请求获得不同的用户信息?

这与Mongo或任何其他数据存储机制无关。您需要在Web服务层上工作,该层公开您的数据筛选请求,以便根据用户角色、声明或您可能认为在您的场景中有用的任何授权方法对其进行授权。

也许您应该考虑实现OAuth2。有一个与Express集成的包可以实现您自己的OAuth2授权服务器:node-OAuth2-server。

目前,我只有一个用户集合产品(每个用户都有唯一的id号)等等似乎不是存储数据的正确方式。

事实上,你走的是正确的路。现在,当您为用户显示产品页面时,您只需要检索属于当前经过身份验证的单个用户的文档,这意味着您已经设置了身份验证,并且产品有一个userId字段。

这是大多数应用程序的工作方式。如果你想了解解决这个问题的其他方法,那么请阅读多租户。