Express.Js,Node.Js,MongoDB的问题

我想尝试一些可用于Web开发的新技术。 我一直在使用php框架,rails和asp.net mvc,我看到Node.Js提供了很多好东西。

但我不知道从哪里开始。 我安装了mongodb,node.js和express.js,我玩了一下,但我想知道如何使express.js和mongodb之间的链接(我有mongoose,但我不知道如何包含它),我想要一些简单的例子(不像express.js文档中的东西)来看一些实际的用例。

我想build立一个快速的内容pipe理系统和一个简单的前端,我想改变并尝试一下。 任何意见和帮助将不胜感激!

[编辑:我已经阅读http://howtonode.org/express-mongodb它帮助,但它不解释如何做到这一点]

谢谢!

以下是Node.js + MongoDB的入门博客文章。 你可以轻松地忽略Cloudfoundry的东西。 mongoose是基本驱动程序的一部分,所以你应该从基本的驱动程序开始。

如果你想要一些代码/想法来偷取,看看铁路 。

开始简单。 使用vanilla node.js标准库HTTP模块编码一个基本的网站( require('http'); )。 了解http请求和响应接口的基础知识,尤其是stream数据的均衡接口。 学习基本的fs模块,以及如何将简单的.html文件放在磁盘上,并将它们作为HTTP响应发送。 您可以在一个.js文件中执行此操作,而不需要任何第三方npm模块。 完全停止,直到你完成了,这对你有意义。 如果有什么不清楚的地方,试验一下,直到问题出现(并在此提出更多的问题)。 这很简单,但是还有很多方法让人困惑。

一旦你有了这些,你会发现它实际上已经非常高级和直接写一个小的网站。 接下来添加express.js 。 研究connect中间件的概念以及中间件链如何工作,包括nextcallback, bodyParserstatic中间件。 确保你理解为什么中间件经常需要按照特定的顺序来应用,以及如果你按照错误的顺序来应用中间件,它会如何被破坏。 了解express的app.errordynamicHelpers和文档中的大部分示例,这些都非常好,很现实,但我同意,因为它们只是一小段片断,给周围环境留下了很多空间,完全。 不要过于复杂的布局和模板的东西坚持,只是坚持基础。

然后,也许开始坚持一些域级数据到文件系统上的简单文件,也许只是.json数据。 这将带来新的挑战,并帮助您了解asynchronous世界中更复杂的事情。 特别是,如果你开始不得不做一系列的操作,如recursion确保目录path存在,然后在最终的叶目录中写入一个新的文件,你会想看看像async或async.js或类似的stream控制库。

只有这样你才能开始向你的堆栈中添加fs.writeFile和mongodb,并用fs.writeFile调用replace你的model.save调用。

对于我来说,在试验所有这些令人敬畏的新技术时,我发现的最大的帮助就是看这个示例应用程序:

演示应用程序 – https://github.com/madhums/nodejs-express-mongoose-demo

它显示了如何组织节点快速应用程序的一些很好的用法,用于显示mongoosevalidation错误信息,css手写笔,玉视图等一些常见的实用程序。如果您认为应该添加到演示应用程序,以帮助其他人学习一个新的快速/ mongo /等function – 我没有亲自问,但有一个检查列表github页面上显示哪些function已完成,即将到来。

我也build议只是让你的手脏:)提出一个简单的想法,并尝试build立它。 当有些事情感觉不对,或者你有一个街区时,那里就有一个非常了不起的,不断发展的社区。

这里有一些上面没有提到的教程:

蒙牛(mongoose替代) – http://www.hacksparrow.com/mongoskin-tutorial-with-examples.html
Exress JS教程: http : //www.hacksparrow.com/express-js-tutorial.html

另外,如果你进入expressjs的github页面,你会看到许多具体的快速function的例子 – 这些例子有很多细节:

expressionjs的例子: https : //github.com/visionmedia/express/tree/master/examples