首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >开始学习Node.js,angular.js和MongoDB,建模关系和其他提升技巧

开始学习Node.js,angular.js和MongoDB,建模关系和其他提升技巧
EN

Stack Overflow用户
提问于 2012-12-05 00:33:33
回答 2查看 6.8K关注 0票数 11

我来自Java和关系世界,并试图弄湿我的脚。我正在开发的应用程序是一个使用node.js和后端MOngo的预约调度系统,客户端在angular.js中。

我试图理解几个关键的概念,它们可能是我的Java偏见的残余。任何帮助指向相关的片段,教程是非常感谢的。

( 1)如何管理蒙古/节点的预约、客户和服务代表之间的关系?是否创建了约会对象并将用户id的引用存储在约会中?用户需要引用约会列表吗?

2)用户authn/authz,因为节点被用作restful服务提供者,我如何创建基于角色的控制?例如,当用户注册为服务代表时,他应该得到批准。是否有一个模块可以提供帮助?

3)是否有提供用户注册报告的通用模块?

4)人们如何管理客户端MVC上的权限?

任何指示都会受到极大的赞赏。

EN

回答 2

Stack Overflow用户

发布于 2012-12-05 01:27:28

如果您同时拥有服务器端组件和客户端组件的应用程序,这会使事情比仅仅拥有服务器端框架更加复杂。

  • 当使用像AngularJS这样的客户端框架时,所有的模板都是编译客户端的,而不是服务器端的.这与传统的服务器端呈现有很大的不同。这意味着,与其向客户端发送呈现的HTML,不如发送JSON。您的服务器本质上将成为一个具有安全配置的RESTful API。
  • 我不太熟悉AngularJS,更熟悉Ember,但实际上您将创建一个restful服务:https://gist.github.com/2432692。它将在RESTful接口上与服务器通信。
  • 在服务器上,使用nodejs,您可以使用ORM,比如Mongoose或类似的东西。你可以建立关系,文件等.注意,您必须在服务器和客户端上复制您的模型。
  • MongoDB使用bson,这是序列化的JSON字符串/对象的二进制编码。由于nodejs是使用V8 JavaScript引擎构建的,所以JSON是一种自然的对象类型,因此使用MongoDB非常简单。
  • NodeJS上的HTTP :NodeJS为http服务器提供了一个基本实现。它并不多,但您可以响应和处理请求。没有会话、cookie和auth支持,所以您可以使用构建在传统http服务器之上的connect,也可以使用构建在connect和节点提供的普通http服务器上的ExpressJS。ExpressJS非常容易开始,并且可以很好地处理RESTful后端。

这相当简单。获取ExpressJS,创建一个新的应用程序,安装所有客户端的东西(angularJS)和模块系统,如果你使用AMD,CommonJS,Browserify等.

票数 14
EN

Stack Overflow用户

发布于 2012-12-05 01:10:58

我不熟悉node.js,但是对于mongodb设计,您必须在“子文档”和“链接文档”之间进行选择。

1

你可以看看how to structure many-to-many relationships in mongoose?

想法是在有意义的地方检索完整的文档。例如,您可能有以下架构。

代码语言:javascript
运行
复制
{ customer : { name: xxx },
  appointments: [ {date: xx, type : xxx .., servicerep: xxx}, {date: xx, type : xxx .., servicerep: xxx} ]
}

尽管信息可能被复制,但是对于查询,您只访问了一个文档/子文档。

4

尽管它可能是客户端,但并不意味着服务器不应该进行验证。客户端可以尽可能地进行验证,但是服务器仍然应该进行验证。抱歉,我没有什么要补充的了。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13714445

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档