【问题标题】:Express.Js, Node.Js, MongoDB Questions [closed]Express.Js、Node.Js、MongoDB 问题 [关闭]
【发布时间】:2012-02-18 01:23:08
【问题描述】:

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

但我不知道如何以及从哪里开始。我设置了 mongodb、node.js 和 express.js,我玩了一下,但我想知道如何在 express.js 和 mongodb 之间建立链接(我有 mongoose,但我不知道如何包含它然而)我想要一些简短的示例(与 express.js 文档中的内容不同)来查看一些实际的使用案例。

我想构建一些快速的内容管理系统和一个简单的前端,我想做出改变并尝试一下。任何建议和帮助将不胜感激!

[编辑:我已经阅读了http://howtonode.org/express-mongodb,它有所帮助,但并没有说明如何做到这一点]

谢谢!

【问题讨论】:

    标签: javascript node.js mongodb express


    【解决方案1】:

    这是针对 Node.js + MongoDB 的 get started 博客文章。你可以很容易地忽略 Cloudfoundry 的东西。 Mongoose 是基本驱动程序之上的一层,因此您可能应该从基本驱动程序开始。

    如果您想窃取一些代码/想法,请查看railwayjs

    【讨论】:

    • 好吧,RailwayJs 是一个建立在 ExpressJs 上的框架,它建立在 NodeJs 上?该死的,我应该用什么来做一个该死的网站?!哈哈 不过非常感谢你的回复!!! :)
    • 确保您观看 MongoDB 是 web 规模的视频 www.mongodb-is-web-scale.com 和 node.js 坏蛋摇滚明星 youtube.com/watch?v=bzkRVzciAZg&feature=channel
    • 非常非常好的视频。感谢分享,这让我开始思考可靠性与性能的关系……很有趣。
    【解决方案2】:

    从简单开始。使用 vanilla node.js 标准库 HTTP 模块 (require('http');) 编写一个基本网站。了解 http 请求和响应接口的基础知识,尤其是流数据的事件接口。学习基本的 fs 模块以及如何在磁盘上获取普通的 .html 文件并将它们作为 HTTP 响应发送。您可以在单个 .js 文件中执行此操作,而无需任何第三方 npm 模块。句号,直到你完成它并且它对你有意义。如果有不清楚的地方,请尝试直到清楚为止(并在此处提出更多问题)。这很简单,但是仍然有很多混淆的方法。

    一旦你有了它,你会发现编写一个小型网站实际上已经非常高级且简单了。接下来添加express.js。研究connect中间件的概念以及中间件链的工作原理,包括next回调、bodyParserstatic中间件。确保您了解为什么中间件经常需要以特定顺序应用,以及如果您以错误的顺序应用它们会如何中断。了解 express 的app.errordynamicHelpers 以及文档中的大多数示例,这些示例都非常好且现实,但我同意,因为它们只是很小的 sn-ps,它们为有关周围环境的问题留下了很多空间,并且事情是如何完全融合在一起的。不要对复杂的布局和模板内容发疯,只要坚持基础即可。

    然后可能开始将一些域级别的数据持久化到文件系统上的简单文件中,也许只是 .json 数据。这将带来新的挑战并帮助您了解异步世界中更复杂的事物。特别是,如果您开始必须执行一系列操作,例如递归确保目录路径存在,然后在最终叶目录中写入一个新文件,您将需要查看像 asyncasync.js 这样的流控制库或类似的。

    只有这样,您才应该开始将 mongoose 和 mongodb 添加到您的堆栈中,并将您的 fs.writeFile 调用替换为 mongoose model.save 调用。

    【讨论】:

      【解决方案3】:

      对我来说,在尝试所有这些很棒的新技术时,我发现的最大帮助是查看这个示例应用程序:

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

      它展示了如何组织 node-express 应用程序的一些很好的用法,一些用于显示 mongoose 验证错误消息的常用实用程序,用于 css 的手写笔,jade 视图等。如果您认为某些内容应该是,作者似乎会接受请求添加到演示应用程序以帮助其他人学习新的 express/mongo/etc 功能 - 我没有亲自询问,但 github 页面上有一个清单,显示了哪些功能已完成以及即将推出的功能。

      我还建议您亲自动手 :) 提出一个简单的想法并尝试构建它。当某些事情感觉不对或您遇到障碍时,就会有一个非常棒且不断发展的社区。​​p>

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

      Mongoskin(猫鼬替代品)-http://www.hacksparrow.com/mongoskin-tutorial-with-examples.html
      Exress JS 教程:http://www.hacksparrow.com/express-js-tutorial.html

      此外,如果您访问 expressjs 的 github 页面,您将看到许多特定 express 功能的示例 - 其中包含一些很棒的细节:

      表达js示例:https://github.com/visionmedia/express/tree/master/examples

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-01-01
        • 1970-01-01
        • 2015-11-01
        • 2016-01-29
        • 1970-01-01
        • 1970-01-01
        • 2019-02-20
        • 2018-05-14
        相关资源
        最近更新 更多