`

NodeJS 使用express、mongolian搭建轻量级web应用

阅读更多
摘自:http://www.ibm.com/developerworks/cn/java/j-nodejs/

Node 在 Web 开发人员心目中占据一席之地,一是因为它对并发的处理能力,二是它是按 Web 开发的需求构建的。

1. 导入express、mongolian
最流行的一个第三方 Node 工具是轻量级 Web 开发框架 Express,我们将会用它来开发应用程序. Express 有很多特性,包括复杂路由、动态模板视图(参见 Node 框架 du jour: Jade)和内容协商。Express 是非常轻量级的,没有内嵌的 ORM 或类似东西来加重其负担。在这一方面,Express 无法与 Rails、Grails 或其他有完整堆栈的 Web 框架相比。

Mongolian DeadBeef 是众多的用于 Node 的 MongoDB 库中的一个。我之所以选择它是因为我觉得它名字很有趣,还因为它对本机 MongoDB 驱动的监控功能让我非常满意。

运行一下命令:
npm install express
npm install mongolian
运行完成后在下面目录中可以看到下载的文件:
C:\Users\***\node_modules

2.创建 web.js
var express = require('express');  //使用第三方库
var mongolian = require("mongolian");  //使用第三方库

var app = express.createServer(express.logger());   //通过 createServer 调用创建一个应用程序实例,它会创建一个 HTTP 服务器。
var db = new mongolian("mongo://a_username:a_password@flume.mongohq.com:23034/magnus"); //将连接到由 MongoHQ 托管的实例上,它是 MongoDB 的云供应者。

app.use(express.bodyParser());  //使用 bodyParser。这会让我们能轻松地获取传入的 JSON 文档的属性。

/*然后我们通过 app.put 定义一个端点。在本例中,我们定义一个 HTTP PUT 作为在应用程序根部 (/) 监听的 HTTP 方法。put 调用有两个参数:路由和调用路由时相应的回调。第二个参数是在运行时端点 / 被启动时的调用函数。记住,此回调就是 Node 所谓的事件驱动或事件 I/O,即异步调用回调函数。终端可以同时处理大量请求而不必手动创建线程。*/
app.put('/', function(req, res) {
  var deal = req.body.deal_description;
  var tags = req.body.all_tags;

  //您会发现 insert 语句和 MongoDB shell 中的 insert 一样。这不是巧合,MongoDB 的 shell 也使用了 JavaScript!因此,我们能够轻松地持久化拥有两个字段的文档:deal 和 deal_tags。请注意,我们通过对 tags 字符串使用 split 方法将 deal_tags 设置为数组。
  db.collection("deals").insert({   //持久化来自传入的 JSON 文档的值
     deal: deal,
     deal_tags: tags.split(",")
  })
  console.log("deal is :"  + deal + " and tags are " + tags);
	
  res.contentType('json');
  res.send(JSON.stringify({ status:"success" }));   
});

var port = process.env.PORT || 3000;  //创建用来表示应用程序所监听的端口的变量;可以通过获取 PORT 环境变量或直接设置为 3000 来完成。

//最后,通过调用 listen 方法来启动此应用程序。我们再次传入一个回调函数,它将会在应用程序启动并运行至将消息打印到控制台时被调用.
app.listen(port, function() {
  console.log("Listening on " + port);
});



我建议您下载 WizTools.org 的 RESTClient。有了 RESTClient,您就可以通过对 http://localhost:3000 执行 HTTP PUT 以快速测出 Magnus Server 是否工作正常。
使用一个 HTTP PUT 将一个 JSON 文档提交到 Express 应用程序中
{
"deal_description":"free food at Freddie Fingers",
"all_tags":"free,burgers,fries"   
}

MongoDB中结果:
{
  deal:"free food at Freddie Fingers",
  deal_tags:["free", "burgers", "fries"],
  _id:"4e73ff3a41258b7423000001"
}
分享到:
评论

相关推荐

    nodejs+express 快速搭建Web环境

    本教程将围绕"nodejs+express 快速搭建Web环境"这一主题展开,介绍如何利用这两个工具创建一个简单的Web服务。 首先,安装Node.js是开始的首要步骤。访问Node.js官方网站,根据操作系统下载相应版本的安装包并进行...

    Node.js-使用nodejs的express框架搭建的后台管理系统

    自学nodejs以后,一直考虑写一个Nodejs项目,但苦于没有找到合适的类型,而且后台系统无法直观的感受到,需要有一个前台项目配合。刚好前一段时间准备在公司推vue,用vue重构了后台系统的一部分业务,vue前端项目,...

    vue+nodejs+express+mybatis

    1. 轻量级:Express没有默认的模板引擎或数据库,可以根据需求自由选择。 2. 中间件系统:Express使用中间件处理HTTP请求,每个中间件可以执行特定任务。 3. 路由控制:通过`app.get`、`app.post`等方法定义HTTP路由...

    使用nodejs的express框架搭建的后台管理系统.zip

    Express作为轻量级框架,允许快速搭建原型并进行迭代,同时支持多种模板引擎和中间件,为开发者提供了极大的便利。 【标签】: "毕设" - 这个项目适合作为毕业设计,因为它涵盖了Web开发的核心技术,并能锻炼学生...

    nodejs+express搭建自己的框架

    Express则是Node.js的一个轻量级Web应用框架,它为构建Web应用程序提供了丰富的功能和简洁的API,使得开发过程变得更加高效。 Express框架的构建基于Connect库,它提供了许多中间件来处理HTTP请求和响应。中间件是...

    Web前端(vue/cli脚手架)+后端(NodeJS+Express)搭建个人博客

    Express则是一个轻量级的Node.js web应用框架,提供了许多便利的功能,如路由处理、中间件机制等,使得构建RESTful API变得简单。 在个人博客项目中,Express可以用来处理HTTP请求,如创建、读取、更新和删除(CRUD...

    nodejs+express+mongodb+bootstrap+jquery+ejs写的电影demo

    2. **Express**:Express是Node.js的一个轻量级Web应用框架,简化了构建Web应用的过程。它提供了一套强大的路由和中间件系统,用于处理HTTP请求和响应,同时也方便构建RESTful API。 3. **MongoDB**:MongoDB是一个...

    uniApp+vue+nodejs+express+mysql电商项目.zip

    【标题】"uniApp+vue+nodejs+express+mysql电商项目"是一个综合性的Web开发实践,涵盖了前端、后端以及数据库等多个技术栈。在这个项目中,开发者将使用uniApp作为移动端应用框架,Vue.js作为前端框架,Node.js搭配...

    Nodejs+Express+MongoDB搭建个人博客源码

    功能包括: 多人注册、登录、发表文章、登出、文章编辑与删除、存档、标签、分页、留言、用户个人主页、文章PV统计及留言统计、增加用户头像、 标题关键字查询(有限的正则查询)、转载功能、日志功能

    nodejs+express+webstorm配置及安装

    nodejs+express+webstorm配置及安装

    vue+nodejs+express+mybatis案列

    vue+nodejs+express+mybatis and vue+nodejs+express+mybatis资源分享

    NodeJS+express如何新建一个自己需要的项目

    Express则是Node.js的一个轻量级Web应用框架,它简化了构建Web服务的过程,使得开发者能够快速搭建功能丰富的Web应用程序。本篇文章将深入探讨如何使用Node.js和Express来创建一个自定义的项目。 1. **安装Node.js*...

    nodeJs+express+socket.io的即时通信web

    在这个“nodeJs+express+socket.io的即时通信web”项目中,开发者创建了一个简单的聊天室应用,实现了以下几个关键功能: 1. **在线统计**:利用Socket.IO的连接状态管理,可以实时追踪并更新当前在线用户数量。...

    本文主要介绍NodeJS+Express+Mysql 实现POST和GET请求的增删改查

    本文主要介绍NodeJS+Express+Mysql 实现POST和GET请求的增删改查,后续会在博客发布详细说明,可以关注一下

    nodejs+express+mysql起步学习demo:待完善.zip

    Express是一个轻量级的Web应用框架,它为Node.js提供了许多便利的功能,如路由处理、中间件系统等。MySQL则是一种广泛使用的开源关系型数据库管理系统,适用于存储和检索大量数据。 在"nodejs+express+mysql起步...

    nodeJS中express框架和mysql简单的连接demo

    这个“nodeJS中express框架和mysql简单的连接demo”项目,旨在演示如何将两者结合,实现在Web应用中与数据库进行交互,包括向数据库插入数据和查询数据。 首先,你需要确保已经安装了以下Node.js相关的依赖库: 1. ...

    NodeJS+Express+MongoDB简单博客系统

    **NodeJS + Express + MongoDB 简单博客系统** 这个项目是一个基于Node.js、Express.js框架和MongoDB数据库构建的简单博客系统。它为初学者提供了一个很好的平台,以了解和实践Web开发中的服务器端编程、路由处理...

    nodejs+express+mysql学习nodejs的小项目.zip

    Express是Node.js的一个轻量级Web应用框架,用于构建API和Web应用。它简化了HTTP服务器的创建,提供了路由、中间件和模板引擎等功能,帮助开发者快速搭建Web服务。在本项目中,你可能会看到如`app.js`或`server.js`...

    基于Express的nodejs的快速、开放、极简的 Web 开发框架

    综上所述,"基于Express的nodejs的快速、开放、极简的Web开发框架"为开发者提供了高效、灵活的Web应用开发环境。通过学习和掌握Express,开发者能够构建出高性能、易于维护的Node.js应用。在实际项目中,结合PM2进行...

    基于nodejs+express+socket的仿微信网页版的聊天室项目源码+数据库

    基于nodejs+express+socket的仿微信网页版的聊天室项目源码+数据库基于nodejs+express+socket的仿微信网页版的聊天室项目源码+数据库基于nodejs+express+socket的仿微信网页版的聊天室项目源码+数据库基于nodejs+...

Global site tag (gtag.js) - Google Analytics