在express / node.js中分离模型,逻辑和DAO

什么是分隔快速应用程序的不同层次的最好方法,以便我的app.js文件不会挤满充满function? 我来自Java世界,所以我通常将模型,业务逻辑和DAO代码放在不同的层中。

另一个问题,一直困扰着我:我如何打开一个连接到数据库在app.js中,然后在需要访问它的各种代码段之间分享? 不是路由function,而是业务逻辑模块。

将此项目视为单独的文件,如下所示:

https://github.com/lethus/popbroker

routes.js – 在这里,我们把路线,通常引用控制器

models.js – 模型在这里你把MongoDB的function

forms.js – 你工作的对象的validation

controllers / users.js – 这将是像Java UI的东西,在这里我们称之为models.js并做插入,更新,列表,查找