使用MongoDB分隔不同的用户数据

时间:2015-12-22 19:04:58

标签: javascript node.js mongodb mongoose

我已经熟悉MongoDB基于JSON格式的文档。我正在使用MEAN堆栈创建我的第一个Web应用程序,用户可以在其中注册然后能够登录到后端仪表板,在那里他们可以实现产品/配置文件信息等。我如何设置它存储在MongoDB上?将每个用户存储为文档吗?并且就安全性原因而言,我如何才能不允许GET请求获取不同的用户信息?

目前,我只拥有一组用户,以及一系列产品(每个用户都有唯一的ID号码)等等,这似乎不是存储数据的正确方法。

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

2 个答案:

答案 0 :(得分:1)

  

将每个用户存储为文档吗?

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

  

我怎样才能不允许GET请求获取不同的用户信息?

这与Mongo或任何其他数据存储机制无关。您需要处理Web服务层,该层公开您的数据过滤请求,以根据您在场景中可能发现的用户角色,声明或任何授权方法对其进行授权。

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

答案 1 :(得分:0)

  

目前,我只有一个用户集合和一个集合   产品(每位用户的唯一身份证号码)等对我而言   似乎不是存储数据的正确方法。

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

这是大多数应用程序的工作方式。如果您想了解其他解决方法,请阅读multi-tenancy

相关问题