ret*_*ain 11 mongodb node.js express angularjs
我来自Java和关系世界,试图让我的脚湿透.我正在使用的应用程序是在后端使用node.js和MOngo的约会调度系统,客户端在angular.js中.
我试图了解一些可能是我的Java偏见残余的关键概念.任何帮助指向相关的片段,教程是值得赞赏的.
1)我如何管理Mongo/Node中约会,客户和服务代表之间的关系?是否创建约会对象并在约会中存储用户ID的引用?用户是否需要引用约会列表?
2)用户authn/authz,因为节点被用作restful服务提供者,我如何创建基于角色的控制?例如,当用户注册为服务代表时,他应该被批准.有没有可以提供帮助的模块?
3)任何通用模块,提供用户注册等报告?
4)人们如何管理客户端MVC的权限?
任何指针都非常感谢.
Dan*_*iel 14
在具有服务器端组件的应用程序中,以及客户端组件,只需拥有一个服务器端框架就会使事情变得复杂一些.
当使用像AngularJS这样的客户端框架时,所有模板都是在客户端编译的,而不是服务器端的.这与传统的服务器端渲染有很大不同.这意味着,您不会将呈现的HTML发送到客户端,而是发送JSON.您的服务器本质上将成为具有安全设置的RESTful API.
我对AngularJS并不是非常熟悉,更多的是Ember,但你本质上会创建一个宁静的服务:https://gist.github.com/2432692.这将在RESTful接口上与服务器通信.
在服务器上,使用nodejs,您将使用像Mongoose或类似的ORM.您可以创建关系,文档等...请注意,您必须在服务器和客户端上复制模型.
MongoDB使用bson,一个序列化JSON字符串/对象的二进制编码.因为nodejs是使用V8 JavaScript引擎构建的,所以JSON是一种自然对象类型,因此使用MongoDB非常简单.
NodeJS上的HTTP服务器:NodeJS为http服务器提供基本实现.它并不多,但你可以回应和处理请求.没有会话,cookie,auth支持,因此您可以使用connect传统http服务器上的哪些构建,也可以使用构建在两者上的ExpressJS connect和http节点提供的普通服务器.ExpressJS非常容易上手,并且适用于RESTful后端.
这很简单.如果你使用AMD,CommonJS,Browserify等,获取ExpressJS,创建一个新的应用程序,设置所有客户端的东西(angularJS)和模块系统......
我不熟悉node.js,但是对于mongodb设计,你必须在“子文档”和“链接文档”之间进行选择。
1
你可以看看如何在mongoose中构造多对多关系?。
想法是检索有意义的完整文档。例如,您可能有以下架构。
{ customer : { name: xxx },
appointments: [ {date: xx, type : xxx .., servicerep: xxx}, {date: xx, type : xxx .., servicerep: xxx} ]
}
Run Code Online (Sandbox Code Playgroud)
即使信息可能重复,对于查询,您只点击一个文档/子文档。
4
尽管它可能是客户端,但这并不意味着服务器不应该验证。客户端可以尽可能地进行验证,但服务器仍然应该进行验证。抱歉,我没有什么可以补充的了。
| 归档时间: |
|
| 查看次数: |
6721 次 |
| 最近记录: |