使用MongoDB来分离不同的用户数据
Using MongoDB to separate different user data
我已经熟悉MongoDB是基于JSON格式的文档的。我正在使用MEAN堆栈创建我的第一个web应用程序,用户可以在这里注册,然后可以登录到后端面板,在那里他们可以实现产品/配置文件信息等。我该如何将其存储在MongoDB上?是否将每个用户存储为一个文档?至于安全原因,我如何才能不允许GET请求获得不同的用户信息?
目前,我只有一组用户和一组产品(每个用户都有唯一的id号),等等,对我来说,这似乎不是存储数据的正确方式。
如果有人能帮助我如何为Mongo设置数据库,那将是非常棒的!提前感谢!
是否将每个用户存储为一个文档?
是的,每个用户都是对象,因此它被存储为一个单独的文档。
我如何才能不允许GET请求获得不同的用户信息?
这与Mongo或任何其他数据存储机制无关。您需要在Web服务层上工作,该层公开您的数据筛选请求,以便根据用户角色、声明或您可能认为在您的场景中有用的任何授权方法对其进行授权。
也许您应该考虑实现OAuth2。有一个与Express集成的包可以实现您自己的OAuth2授权服务器:node-OAuth2-server。
目前,我只有一个用户集合产品(每个用户都有唯一的id号)等等似乎不是存储数据的正确方式。
事实上,你走的是正确的路。现在,当您为用户显示产品页面时,您只需要检索属于当前经过身份验证的单个用户的文档,这意味着您已经设置了身份验证,并且产品有一个userId
字段。
这是大多数应用程序的工作方式。如果你想了解解决这个问题的其他方法,那么请阅读多租户。
相关文章:
- 从远程脚本获取用户IP
- 如何通过自己获得Chrome扩展的用户反馈/错误报告
- d3基于用户选择动态更新节点
- 同步调用,直到用户通过angular验证为访问者
- 使用javascript搜索具有用户输入的数组
- 如何使用jquery确定用户是否年满18岁
- Meteor-添加用户自定义字段的方法不起作用
- React Native通过Navigator将用户输入数据传递到选项卡栏IOS中的组件
- 跟踪用户点击Adsense广告的IP地址
- 使用javascript反复检查用户在facebook上的登录状态
- 我想在AngularJS应用程序中创建一个输入数字框,用户不应该在该框上键入十进制数字.(一个整数输入框)
- 如何检查用户在html5视频播放器中观看了完整的视频
- 一个密码测试程序,如果存在空格,它会提醒用户
- 如何使用JavaScript中的用户输入创建序列/序列
- 当用户按下回车键时,自动在text区域/text中插入消息
- 显示某个用户ID的某个标签的30张Instagram图片
- 将当前用户的 ID 推送到 meteorjs 中集合/文档的内部数组
- 获取我的网站的用户的登录状态,并使用 php 查看具有该名称表单数据库的用户数
- 正在比较用户数组字符串以列出空用户
- 我怎样才能使MEAN.js默认的文章用户保存到用户数组中