摘自: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以后,一直考虑写一个Nodejs项目,但苦于没有找到合适的类型,而且后台系统无法直观的感受到,需要有一个前台项目配合。刚好前一段时间准备在公司推vue,用vue重构了后台系统的一部分业务,vue前端项目,...
使用nodejs的express框架搭建的后台管理系统.zip
Node.js-使用nodejs的express框架搭建的后台管理系统.zip
功能包括: 多人注册、登录、发表文章、登出、文章编辑与删除、存档、标签、分页、留言、用户个人主页、文章PV统计及留言统计、增加用户头像、 标题关键字查询(有限的正则查询)、转载功能、日志功能
这是一个vue+nodejs+express+mybatis够成的一个项目案例
nodejs中Express框架可以很容易的生成一个应用框架,通过 Express 应用创建应用只是众多方法中的一种。通过修改它让它符合你的需求,支持html。
nodejs+Express+mssql,SQL Server实现增删改查
nodejs之express框架源码
本文主要介绍NodeJS+Express+Mysql 实现POST和GET请求的增删改查,后续会在博客发布详细说明,可以关注一下
简单的基于nodeJs+express+socket.io的即时通信web聊天室,实现了在线统计,消息广播 ,图片发送,表情发送等
主要介绍了nodejs使用express创建一个简单web应用的相关资料,需要的朋友可以参考下
vue+nodejs+express+mybatis and vue+nodejs+express+mybatis资源分享
用NodeJS+Express+MongoDB简单博客系统,有前端页面及后端代码,适合入门学习express框架
此项目为个人博客搭建,纯代码手写堆叠,没有用到第三方的模板,适合前端小白+懂点后端的小白,简单,涉及前端+后端(Node JS+expres)+数据库(MongoDB)
使用nodejs+express操作文件,是数据持久化,实现数据的增删改查操作!
基于NodeJS+Express+mongoDB+Bootstrap的全栈式工程化开发前后端分离博客系统实战
>本文主要介绍NodeJS+Express+Mysql实现用户登录和注册。此登录注册的方式为get
用node开发应用程序,通常采用express框架进行功能扩展,当系统开发完成后,需要对nodejs+express工程打包封装。最常用的打包方式是使用pkg。本篇主要解决采用pkg打包后生成exe安装包,默认的图标是node的绿色六边形...
NodeJS+express如何新建一个自己需要的项目 说明文字如下: https://blog.csdn.net/qq_38209578/article/details/82593591